mysql实现group by后取各分组的最新一条
转载自:https://www.xiaohuihui.net/posts/56e1da3a.html
两种实现方式
先 order by 之后再分组:
SELECT _ FROM (SELECT _ from tb_dept ORDER BY id descLIMIT 10000) a GROUP BY parent_id;
不加LIMIT可能会无效,由于 mysql 的版本问题。但是总觉得这种写法不太正经,因为如果数据量大于 Limit 的值后,结果就不准确了。所以就有了第二种写法。
SELECT * FROM tb_dept td,(SELECT max(id) id FROM tb_dept GROUP BY parent_id) md where td.id = md.id;
开发过程中真实 sql 语句举例:
select * from (select * from guangnian_distribution order by id desc LIMIT 10000) m group by m.guangnian_id,m.user_id order by id desc
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。