Sql 如何获取具有不同列的多行计数

Sql 如何获取具有不同列的多行计数,sql,Sql,我试图找出哪个建筑的行数=到3,并且只有3。例如,A和C的计数均为3,其中B的行计数为4。所以我的结果是 bldg | room# A | 1 A | 2 A | 3 B | 1 B | 2 B | 3 B | 4 C | 1 C | 2 C | 3 我知道我在看一个计数为3的子查询(不同的bldg,room#)=3,但我无法计算出来 感谢您的帮助。这是一个简单的聚合查询,带有having子句: bldg A

我试图找出哪个建筑的行数=到3,并且只有3。例如,A和C的计数均为3,其中B的行计数为4。所以我的结果是

bldg | room#
 A   |  1
 A   |  2
 A   |  3
 B   |  1
 B   |  2
 B   |  3
 B   |  4
 C   |  1
 C   |  2
 C   |  3
我知道我在看一个计数为3的子查询(不同的bldg,room#)=3,但我无法计算出来


感谢您的帮助。

这是一个简单的聚合查询,带有
having
子句:

bldg
 A    
 C
试试这个-

select bldg
from table t
group by bldg
having count(*) = 3;

我可能建议使用
have count(distinct room)=3
,如果他们有同一栋建筑/房间的多个条目。@user3543105-如果不想计算空值,请不要使用count(*)。@bluefeet。虽然OP确实包括一个
count(distinct)
作为示例,但问题还说:“哪个建筑有行计数…”。只是另一个措辞含糊不清的问题。
select bldg
from tablez
group by bldg
having count(room) = 3