有一个名为messages的表,其中包含如下所示的数据:
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
如果我运行查询select * from messages group by name,将会得到以下结果:
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 * FROM (SELECT * FROM messages ORDER BY id DESC) AS x GROUP BY name
但是这看起来效率很低。还有其他方法可以实现相同的结果吗?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号