我正在尝试获取列中所有出现的次数,然后如果不符合数字标准,则过滤掉出现的次数。例如,我有一个像这样的表(my_table)
fruit variety
orange 29
orange 001
orange 89
apple 82
plum 38
plum 49
sql查询:
select fruit, count(*) from my_table where count(*) > 1 group by fruit order by fruit
这给我一个错误。我希望最终结果是
fruit total count
orange 3
plum 2
答案 0 :(得分:1)
聚合函数不能在WHERE
子句中使用。要使用聚合函数进行过滤,请使用HAVING
子句。
SELECT fruit,
count(*)
FROM my_table
GROUP BY fruit
HAVING count(*) > 1
ORDER BY fruit;