KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
There is a table messages that contains data as shown below: 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 If I run a query select * from messages group by name , I will get the result as: 1 A A_data_1 4 B B_data_1 6 C C_data_1 What query will return the following result? 3 A A_data_3 5 B B_data_2 6 C C_data_1 That is, the last record in each group should be returned. At present, this is the query that I use: SELECT * FROM (SELECT * FROM messages ORDER BY id DESC) AS x GROUP BY name But this looks highly inefficient. Any other ways to achieve the same result?
Tags (comma-separated)
Save Edits
Cancel