mysql分组查询取最大最小的记录

2020-03-19  本文已影响0人  xudong7930

message表如下:

Id   Name   Other_Columns
-------------------------
1    A       A_data_1
2    A       A_data_2
3    A       A_data_3
4    B       B_data_1
5    B       B_data_2
6    C       C_data_1

如果我运行 <code>select * from messages group by name</code>,则结果为:

1    A       A_data_1
4    B       B_data_1
6    C       C_data_1

但是我需要的结果是:

3    A       A_data_3
5    B       B_data_2
6    C       C_data_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;
上一篇下一篇

猜你喜欢

热点阅读