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;