如何检查count语句是否返回特定值

时间:2012-08-15 16:58:51

标签: mysql sql

这可能很容易,我有一段时间没有使用过sql而且遇到了这个问题。基本上,作为更大语句的一部分,如果内部select语句的计数等于3,我只想从select语句返回一行。我该怎么做?

例如......

select rev.name, s.title 
from reviewer rev, song s, rating r 
where (r.rID = rev.rID) and (r.mID = s.sID) and ...[rest goes here];

“休息”的地方我只想在评论者rev两次评论歌曲s时返回,而r.value第一次更大(我们将第一次表示为最早的r.date_of_rating

这显然是一个计数和比较,但我不知道如何在适当的SQL语法中进行布局。任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:0)

我不确定你的例子是否提供了足够的信息。

但听起来你需要一个'HAVING'条款。

e.g。

SELECT rev.name, s.title, count(r.mId)
FROM reviewer rev, song s, rating r 
WHERE (r.rID = rev.rID) AND (r.mID = s.sID) 
GROUP BY rev.name, s.title
HAVING count(r.mId) = 3