日期:2014-05-18  浏览次数:20725 次

高手帮忙sql去重复问题
表字段值 
ID int  
SN nvarchar(50)
Gtemp nvarchar(50)
Indate nvarchar(50)
Gstemp nvarchar(50)
SunStren nvarchar(50)
gel nvarchar(50)

数据值
 ID Sn Getmp indate Gstemp Sunstren gel
 1 111 aaa 2010-01-01 aaa 30 30
 2 222 bbb 2010-01-01 bbb 30 30
 3 333 ccc 2010-01-01 ccc 30 30
 4 111 ddd 2010-01-01 ddd 30 30
我想选取 sn 不重复包含重复一列的所有数据 sql语句该怎样写呢??

------解决方案--------------------
SQL code
select * from Table where Id in(select max(Id) from Table group by Sn)

------解决方案--------------------
探讨

select * from Data where SN in ( select distinct sn from Data)
这样写怎么不对呢?

------解决方案--------------------
探讨
select * from Data where SN in ( select distinct sn from Data)
这样写怎么不对呢?

------解决方案--------------------
探讨
引用:

select * from Data where SN in ( select distinct sn from Data)
这样写怎么不对呢?

这个当然不对了SN又不是唯一的,in的语法是说你SN只要在in里面就可以了,那么111这个SN的第一条记录和第四条记录都满足的,所以你这个写法只是饶了一个弯子找所有记录。还有建议尽量别使用in


SQL co……