欢迎访问我的博客 https://javascript.shop

SQL:某个字段重复的时候只查询出最后插入的那条

原文发布时间为:2009-04-11 —— 来源于本人的百度文章 [由搬家工具导入]

数据库com中有下列数据
id,userid,tupian,time
1 3 3 2006.3.5
2 4 4 2006.3.7
3 4 5 2006.3.8
4 2 5 2006.3.2

----------------
我想对输出的结果,userid为4的重复记录,只显示时间较晚一条,其他多于过滤,结果为
1 3 3 2006.3.5
3 4 5 2006.3.8
4 2 5 2006.3.2
也就是说,不光userid不能重复,而且要能取出一条.

select top 20 * from COM a where time in (select max(time) from COM b where b.userid=a.userid) order by id

如果时间是根据ID主键的先后顺序来的,还有一种方法可用:
select * from COM where id in(select max(id ) from COM group by userid)

posted @ 2017-07-12 00:05  孑孓子  阅读(170)  评论(0编辑  收藏  举报
欢迎访问我的博客 https://javascript.shop