SQL不允许>条件计数?

时间:2019-12-16 20:33:43

标签: sql

说我有一个包含很多数字的数据集。 我可以这样查询

select count(*) from Dataset

但是SQL不允许我在count函数中进行>比较

select count(num>10) from Dataset

那是为什么? 我知道select count(*) from Dataset where num > 10会做的。

我在这里只是简化我的问题posted previously,因为我有一个更复杂的查询,其中应用了>比较,其中不能使用 where

如何在count中使用>而不使用位置?

2 个答案:

答案 0 :(得分:4)

您可以在CASE内使用一个COUNT表达式,当条件不成立时,该表达式将返回NULL

SELECT COUNT(CASE WHEN num > 10 THEN 1 END) FROM Dataset

答案 1 :(得分:2)

如果您尝试直接运行SQL查询,则可以使用GROUP BY HAVING在COUNT中使用过滤器操作,如下所示:

SELECT myId FROM myTable Group By myId HAVING Count(*) > 10