SQL COUNT* GROUP BY 大于,

标签 sql count group-by

我想选择具有出现次数的不同键,此查询似乎有效:

SELECT ItemMetaData.KEY, ItemMetaData.VALUE, count(*) 
FROM ItemMetaData 
GROUP BY ItemMetaData.KEY 
ORDER BY count(*) desc;

但我也想过滤这些结果,这意味着我只需要 count(*) 大于 2500 的地方,因此只显示大于 2500 的出现,但是:

SELECT * 
FROM 
(
    SELECT ItemMetaData.KEY, ItemMetaData.VALUE, count(*) 
    FROM ItemMetaData 
    GROUP BY ItemMetaData.KEY 
    ORDER BY count(*) desc
) as result WHERE count(*)>2500;

不幸的是,此查询会导致语法错误。你能帮我实现我的要求吗?

最佳答案

聚合的 HAVING 子句

SELECT ItemMetaData.KEY, ItemMetaData.VALUE, count(*) 
FROM ItemMetaData 
Group By ItemMetaData.KEY, ItemMetaData.VALUE
HAVING count(*) > 2500
ORDER BY count(*) desc;

关于SQL COUNT* GROUP BY 大于,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11397757/

相关文章:

Python Pandas : Group by one column and see the content of all columns?

mysql - 查询以相同的方式修改所有行的记录

mysql - 一条记录下显示多条记录?

sql - 我是否在数据库中错误地使用了正则表达式?

mysql - 如何获取mySql数据库中的行数

具有 2 个连接的 MySQL group_concat 返回不需要的结果

mysql - 归一化 - 1NF 说明

java - 如何统计树中某个元素的出现次数?

sql - 从内部 select 语句计数