如何选择具有非重复行的所有记录

时间:2013-11-06 01:47:46

标签: sql sql-server

我有下表

ID - NAME
1-John  
1-John 
2-Saly
3-Saly
4-Oman

我需要一个看起来像的结果:

name | count
John    1
Saly   2
Oman   1

将重复的ID和名称视为1条记录

1 个答案:

答案 0 :(得分:1)

试试这个:

select NAME, count(distinct ID) as COUNT
from T1
group by NAME

这是一个完整的测试脚本:

create table T1 (id int, name varchar(20))

insert T1 values (1, 'John')
insert T1 values (1, 'John')
insert T1 values (2, 'Saly')
insert T1 values (3, 'Saly')
insert T1 values (4, 'Oman')


select NAME, count(distinct ID) as COUNT
from T1
group by NAME