取时间最新的记录 不分组有重复(多条CreateTime一样的都是最新记录) select *from test twherepid in( select PId from Test t wher
取时间最新的记录 不分组有重复(多条CreateTime一样的都是最新记录)
select *from test twherepid in( select PId from Test t where time=(select max(time) from Test t1 where t1.PId=t.PId) group by Pid)andtime=(select max(time) from Test t1 where t1.PId=t.PId)
分组后取时间最新的记录
SELECT max(Id) , Pid, MAX(Time) as MaxTimeFROM TestGROUP BY pid
如果Id是uuid类型无法使用max(id)的解决办法(使用开窗函数)
select *from( select row_number() over(partition by [Pid] order by [Time] desc ) as KeyId,* from Test ) d where KeyId=1
--结束END--
本文标题: Sql group by 分组取时间最新的一条数据
本文链接: https://www.lsjlt.com/news/371928.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0