假设我有MySQL表格,如:
Users (id)
Posts (id, user_id, created)
然后,假设我想尝试获取每个用户的最新帖子
SELECT * FROM(SELECT * FROM posts ORDER BY created DESC) AS b GROUP BY user_id
它没有正确返回最近的帖子,但是,它没有分组时。执行此类查询的正确方法是什么?
答案 0 :(得分:3)
你似乎在思考它 - 想想eaiser。
假设您的帖子ID是连续的,那么最大的ID对应于最新的帖子 - 你可以得到这样的数据:
select user_id, id, created from Posts where id in
(select max(id) from posts group by user_id)