码迷,mamicode.com
首页 > 数据库 > 详细

Mysql 技巧 —— 分组后每条记录取最新

时间:2020-07-08 10:30:47      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:max   join   left join   mes   null   ESS   sele   nbsp   group   

方法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 技巧 —— 分组后每条记录取最新

标签:max   join   left join   mes   null   ESS   sele   nbsp   group   

原文地址:https://www.cnblogs.com/lemos/p/13265325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!