我的数据看起来像这样。。。
Table A
Name Phone
--------------------------------------
Bobs Place 111111111
Bobs Place 111111111
Jims Place 222222222
Jims Place 333333333
Lizzys Place 444444444
Lizzys Place 444444444
Lizzys Place 555555555
我需要输出是。。。
Name Phone
--------------------------------------
Jims Place 222222222
Jims Place 333333333
Lizzys Place 444444444
Lizzys Place 555555555
jims和lizzys有多条不同的电话线,bobs有多行…但是同一行,所以我们不关心这些行。
我尝试使用count()>1,但是bob仍然会计为2,distinct也会留下我不想要的行。
3条答案
按热度按时间xkrw2x1b1#
你可以用
select distinct
使用相关子查询:gcxthw6b2#
如果您需要获得唯一的组合(姓名和电话),则首先删除重复项,然后可以使用sql server中最有效的方法-窗口/分析函数,例如计数(按名称分区)来获得正确的结果:
lskq00tm3#
你可以用一个
HAVING
包含查询的子句GROUP BY
表达式:p、 实际上,如果适用于此类问题,最好使用分析函数,但我们不知道您的dbms使用的是标准sql。
演示