SQL计数(超过)

时间:2012-10-28 14:13:01

标签: sql sql-server

distrikt = district

SELECT POST.distrikt, COUNT(PERSON.personnr)
  FROM [dbo].POST join [dbo].PERSON on POST.postnr = PERSON.postnr
  WHERE ?
  GROUP BY POST.distrikt
GO

我需要查看显示与每个人相关的人数的地区,但它只应显示包含2人或更多人的地区。我尝试使用COUNT(PERSON.personnr) > 2,但这不起作用。除此之外,它显示了地区和相关人员。

3 个答案:

答案 0 :(得分:3)

如果您需要根据GROUP BY的结果进行过滤,请使用HAVING

SELECT POST.distrikt, COUNT(PERSON.personnr)
FROM [dbo].POST join [dbo].PERSON on POST.postnr = PERSON.postnr
GROUP BY POST.distrikt
HAVING COUNT(PERSON.personnr) > 2

答案 1 :(得分:1)

添加having子句:

SELECT POST.distrikt, COUNT(PERSON.personnr)
  FROM [dbo].POST join [dbo].PERSON on POST.postnr = PERSON.postnr
  GROUP BY POST.distrikt
  HAVING count(PERSON.personnr) > 2

例如,请参阅http://dev.mysql.com/doc/refman/5.5/en/select.html。搜索having

答案 2 :(得分:0)

添加

HAVING COUNT(PERSON.personnr) > 2

之后