重复的数据只取一条,请问SQL语句怎么写

时间:2021-07-14 15:01:58
ID,电话号码
1  11
2  11
3  22
例如这样的数据电话号码相同的只取一条.重复的 11 怎么去掉.也就是说只取出两条数据.
谢谢.

12 个解决方案

#1


select * from tt a
inner join 
(select 电话号码,max(id) as ma from tt) b
on a.电话号码=b.电话号码 and a.id=b.ma

#2


or
select * from tt a where id=(select top 1 id from tt where a.电话号码=电话号码)

#3


如果ID不唯一可以吗

#4


不行,必须要有唯一标识的字段

#5


ID必须唯一。

否则,上述两种方法查询的数据会有问题。

#6


SELECT ID,电话号码,电话日,负责人,公司名,备注,电话.评价,删除,评价.评价,表示 FROM 电话 a,评价 where ID = (select top 1 ID from 电话 where a.电话号码 = 电话号码) and 评价.评价 = 电话.评价 and 删除 = false order by 电话日 DESC
请问这个错在哪里

#7


将记录及正确结果贴出来

#8


执行不了.怎么有正确结果

#9


怎么有正确结果
你希望得出结果的是什么?

#10


希望的是电话号码重复的只显示一条,现在SQL语句有问题都执行不过.

#11


如果只是用你上述的数据,我的SQL代码就可以了,其它的,贴出记录
及正确结果。
很明显,你的数据与你的要求不是配套的。

#12


把a写括号里select top 1 ID from 电话 a where a.电话号码 = 电话号码

#1


select * from tt a
inner join 
(select 电话号码,max(id) as ma from tt) b
on a.电话号码=b.电话号码 and a.id=b.ma

#2


or
select * from tt a where id=(select top 1 id from tt where a.电话号码=电话号码)

#3


如果ID不唯一可以吗

#4


不行,必须要有唯一标识的字段

#5


ID必须唯一。

否则,上述两种方法查询的数据会有问题。

#6


SELECT ID,电话号码,电话日,负责人,公司名,备注,电话.评价,删除,评价.评价,表示 FROM 电话 a,评价 where ID = (select top 1 ID from 电话 where a.电话号码 = 电话号码) and 评价.评价 = 电话.评价 and 删除 = false order by 电话日 DESC
请问这个错在哪里

#7


将记录及正确结果贴出来

#8


执行不了.怎么有正确结果

#9


怎么有正确结果
你希望得出结果的是什么?

#10


希望的是电话号码重复的只显示一条,现在SQL语句有问题都执行不过.

#11


如果只是用你上述的数据,我的SQL代码就可以了,其它的,贴出记录
及正确结果。
很明显,你的数据与你的要求不是配套的。

#12


把a写括号里select top 1 ID from 电话 a where a.电话号码 = 电话号码