一个test表
有3个字段,
id aa bb
1 a 1
2 a 2
3 a 2
4 a 3
5 b 1
6 b 2
我想查询当aa列等于a时,bb列一共有多少条不同记录。
就是结果查出个3
Sql语句怎么写??
有3个字段,
id aa bb
1 a 1
2 a 2
3 a 2
4 a 3
5 b 1
6 b 2
我想查询当aa列等于a时,bb列一共有多少条不同记录。
就是结果查出个3
Sql语句怎么写??
from test
group by aa
go
--> -->
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[aa] nvarchar(1),[bb] int)
Insert #T
select 1,N'a',1 union all
select 2,N'a',2 union all
select 3,N'a',2 union all
select 4,N'a',3 union all
select 5,N'b',1 union all
select 6,N'b',2
Go
Select [aa],COUNT(DISTINCT [bb]) AS con from #T GROUP BY [aa]
/*
aa con
a 3
b 2
*/
我这样可以不丫?
[aa] ,
COUNT([bb]) OVER ( PARTITION BY [aa] )
FROM ( SELECT DISTINCT
[aa] ,
[bb]
FROM #T
) AS d
谢谢大家了!