【发布时间】:2019-11-13 04:52:49
【问题描述】:
假设我在表 1 中有以下数据:
ID Color Toy
----------------------
1 Red Car
2 Red Truck
3 Red Truck
4 Blue Car
5 Blue Car
6 Yellow Airplane
我想返回每种颜色最常见玩具的最大数量。我该怎么做?
我试过了
SELECT
aa.color, aa.toy, MAX(aa.totalcount) AS maxcount
FROM
(SELECT Color, Toy, COUNT(*) AS totalcount
FROM Table 1
GROUP BY Color, Toy) aa;
由于某种原因,这似乎不起作用。我做错了什么?
这是我得到的错误:
在 SELECT 子句、HAVING 子句或 ORDER BY 子句中指定的以“Color”开头的表达式未在 GROUP BY 子句中指定,或者它位于具有列函数的 SELECT 子句、HAVING 子句或 ORDER BY 子句中并且没有指定 GROUP BY 子句.. SQLCODE=-119, SQLSTATE=42803, DRIVER=4.25.1301
我想要的期望输出是每种颜色的一行,其中最常见的玩具以及玩具/颜色组合的数量:
color toy count
-----------------------
Red Truck 2 (NOT RED CAR)
Blue Car 2
Yellow Airplane 1
【问题讨论】:
-
您使用的是哪个数据库?