Mysql 技巧 —— 分组后每条记录取最新
Posted lemos
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 技巧 —— 分组后每条记录取最新相关的知识,希望对你有一定的参考价值。
方法1
左连接
SELECT m1.* FROM messages m1 LEFT JOIN messages m2 ON (m1.name = m2.name AND m1.id < m2.id) WHERE m2.id IS NULL;
子查询
select * from messages where id in (select max(id) from messages group by Name)
mysql8 窗口函数
WITH ranked_messages AS ( SELECT m.*, ROW_NUMBER() OVER (PARTITION BY name ORDER BY id DESC) AS rn FROM messages AS m ) SELECT * FROM ranked_messages WHERE rn = 1;
233
以上是关于Mysql 技巧 —— 分组后每条记录取最新的主要内容,如果未能解决你的问题,请参考以下文章