当前位置: 代码迷 >> Sql Server >> SQL查询不重复记录的有关问题
  详细解决方案

SQL查询不重复记录的有关问题

热度:69   发布时间:2016-04-27 13:53:05.0
SQL查询不重复记录的问题
假如数据如下
id editno delflag
1 1 0
1 2 0
1 3 0
2 1 0
2 2 0
2 3 0

我现在要取红色的记录,也就是说id不重复,editno最大的那个,请问SQL怎么写啊?

------解决方案--------------------
SQL code
SELECT *FROM tb AS AWHERE editno = (SELECT MAX(editno) FROM tb WHERE A.id=id)
------解决方案--------------------
SQL code
SELECT * FROM TB T WHERE NOT EXISTS(SELECT 1 FROM TB WHERE ID=T.ID AND editno>T.editno)
------解决方案--------------------
select *
from ta a
where not exists(select 1 from ta where id = a.id and editno > a.editno)
------解决方案--------------------
SQL code
select tb.* from tb join (select id,max(editno) editno from tb) a on tb.id=a.id and tb.editno=a.editno