有一个表messages
包含如下所示的数据:
Id Name Other_Columns-------------------------1 A A_data_12 A A_data_23 A A_data_34 B B_data_15 B B_data_26 C C_data_1
如果我运行查询select * from messages group by name
,我将得到结果:
1 A A_data_14 B B_data_16 C C_data_1
什么查询将返回以下结果?
3 A A_data_35 B B_data_26 C C_data_1
也就是说,应该返回每个组中的最后一条记录。
目前,这是我使用的查询:
SELECT*FROM (SELECT*FROM messagesORDER BY id DESC) AS xGROUP BY name
但这看起来效率很低。还有其他方法可以达到同样的结果吗?