Sql 如何获取具有不同列的多行计数
我试图找出哪个建筑的行数=到3,并且只有3。例如,A和C的计数均为3,其中B的行计数为4。所以我的结果是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
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