HAVING子句中的多个聚合函数

bla*_*arg 26 mysql sql count

由于我的查询的性质,我的记录计数为3,也符合计数为2的标准,依此类推.我想知道是否可以查询"计数超过x且小于7"?我怎么能写这个.这是我目前的代码.

GROUP BY meetingID
HAVING COUNT( caseID )<4
Run Code Online (Sandbox Code Playgroud)

我喜欢类似的东西

GROUP BY meetingID
HAVING COUNT( caseID )<4 AND >2
Run Code Online (Sandbox Code Playgroud)

那样它只计算3

Tre*_*arl 62

GROUP BY meetingID
HAVING COUNT(caseID) < 4 AND COUNT(caseID) > 2
Run Code Online (Sandbox Code Playgroud)


Tar*_*ryn 9

没有必要进行两次检查,为什么不检查count = 3:

GROUP BY meetingID
HAVING COUNT(caseID) = 3
Run Code Online (Sandbox Code Playgroud)

如果要使用多项检查,则可以使用:

GROUP BY meetingID
HAVING COUNT(caseID) > 2
 AND COUNT(caseID) < 4
Run Code Online (Sandbox Code Playgroud)


lc.*_*lc. 5

对于您的示例查询,大于 2 且小于 4 的唯一可能值是 3,因此我们简化:

GROUP BY meetingID
HAVING COUNT(caseID) = 3
Run Code Online (Sandbox Code Playgroud)

在您的一般情况下:

GROUP BY meetingID
HAVING COUNT(caseID) > x AND COUNT(caseID) < 7
Run Code Online (Sandbox Code Playgroud)

或者(可能更容易阅读?),

GROUP BY meetingID
HAVING COUNT(caseID) BETWEEN x+1 AND 6
Run Code Online (Sandbox Code Playgroud)