嗨,我必须数一数有多少个结果对应列b,例如:
我创建这个查询是为了解释我的问题:
Declare @t as Table(a varchar(50), b varchar(50))
Insert into @t (a,b) values ('UNO', 'LOBO');
Insert into @t (a,b) values ('DOS', 'LOBO');
Insert into @t (a,b) values ('UNO', 'PERRO');
Insert into @t (a,b) values ('DOS', 'PERRO');
Insert into @t (a,b) values ('UNO', 'GATO');
Insert into @t (a,b) values ('UNO', 'POLLO');
Insert into @t (a,b) values ('UNO', 'PATO');
Insert into @t (a,b) values ('UNO', 'PATO');
Insert into @t (a,b) values ('UNO', 'PATO');
Insert into @t (a,b) values ('UNO', 'PATO');
select b,a from @t group by b,a
The grouped que results:
b a
------------ -----------------
GATO UNO
LOBO DOS
LOBO UNO
PATO UNO
PERRO DOS
PERRO UNO
POLLO UNO所以,我想数一下有多少个a有b,例如LOBO有两个结果,或者perro在分组后有两个结果。
发布于 2019-04-03 17:10:16
您想要计算a的a值,对吗?
然后只有group by b:
select b,count(distinct a) counter from @t group by b见演示。
结果:
b | counter
:---- | ------:
GATO | 1
LOBO | 2
PATO | 1
PERRO | 2
POLLO | 1如果您也想计算重复数,那么:
select b,count(a) counter from @t group by bhttps://stackoverflow.com/questions/55500628
复制相似问题