2 baidu 33903518 baidu_33903518 于 2016.02.24 16:44 提问

SQL查询字段有重复只取一条数据
sql

sql查询数据,其中一个字段的数据有重复,重复的数据其他字段除创建时间外都相同,重复数据如何只显示最新的那条数据?

3个回答

Q_user
Q_user   2016.02.24 16:56

select * from t where 时间 in (
select max(时间) from table group by 相同字段1,相同字段2,相同字段3,....
)

思路 : 查询字段相同的数据(group by 或 distinct) 然后取出时间最新 (max 或者 时间升序)的数据, 将以上结果放在临时表 然后再查询时间存在于临时表的数据,查询出来的结果就是你需要的数据。

baidu_33903518
baidu_33903518 一个in字,困扰我很久~
接近 2 年之前 回复
baidu_33903518
baidu_33903518 大神啊,可以了,谢谢啊~查了一下午了
接近 2 年之前 回复
bdmh
bdmh   Ds   Rxr 2016.02.24 16:49

Max(日期),选出这个条件数据,配合group by

baidu_33903518
baidu_33903518 group by我只获得了重复字段的数据和日期,怎么把其他数据加上去?
接近 2 年之前 回复
beacon_2011
beacon_2011   Rxr 2016.02.25 09:58

select * from table where 相同字段 in (select distinct 相同字段 from table ) and rownum=1

Csdn user default icon
上传中...
上传图片
插入图片