关于mysql的去重问题,请问该怎么解决?

我有3个字段,id,time,name。name可能会重复,time是惟一的
我希望查询出一个表,每个name只出现一次,同时该行能够查到该name中time最大的一行?

慕村9548890
浏览 127回答 3
3回答

开满天机

select * from 你的表 a inner join (select name,max(time) as time from 你的表 group by name) b on a.name = b.name where a.time=b.time解释:首先分组 取出 同一名字下的 最大 time, 然后通过 inner join 链接 查询你的表,条件是 同一name下的最大 time 记录相同!

心有法竹

1.select * from (select rank() over(partition by name order by time desc) rk, table.* from table) twhere t.rk<=1;2.select * from tb a inner join (select name,max(time) as time from tb group by name) b on a.time=b.time你试一下吧 我暂时没法调试

陪伴而非守候

select top 1 distinct name from table order by time desc
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL