为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕村9548890 2022-05-12 20:11:13
我有3个字段,id,time,name。name可能会重复,time是惟一的我希望查询出一个表,每个name只出现一次,同时该行能够查到该name中time最大的一行?
查看完整描述

3 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

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 记录相同!

查看完整回答
反对 回复 2022-05-16
?
心有法竹

TA贡献1866条经验 获得超5个赞

1.select * from (select rank() over(partition by name order by time desc) rk, table.* from table) t
where 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
你试一下吧 我暂时没法调试

查看完整回答
反对 回复 2022-05-16
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

select top 1 distinct name from table order by time desc

查看完整回答
反对 回复 2022-05-16
  • 3 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信