我们说我有一张桌子
InspectLog(userid,attr1,attr2)
我想知道检查次数超过5次的用户的用户ID。
这是我到目前为止所得到的:
SELECT I.userid
FROM InspectLog I
GROUP BY I.userid
HAVING Count(*) >5;
我的问题是,正如我在使用having
时看到很多示例时,他们也会在select指令中调用Count()
。
SELECT I.userid, Count(*) AS c
FROM InspectLog I
GROUP BY I.userid
HAVING Count(*)>5;
having
是否需要在select指令的开头使用聚合函数?输出是否相同。从我得到的结果来看,在这种情况下有一个额外的c列会有所不同。但是,HAVING上的Count()会在没有第一个的情况下正常工作吗?
答案 0 :(得分:1)
简答:不,您不需要在Select Clause中添加“Count()”。
它只会在结果中添加一个额外的列。