我有以下查询,这应该会得到每个update_id最新的3条评论。它似乎有效,直到我发现一个合理的问题,无论更新如何,它都能得到最新的3条评论;它应该为每个update_id获取最新的3条评论。我怎样才能做到这一点?显然,极限(3)是错误的。MySQL获取最新的3行为每个ID在哪里
SELECT `comms` . * , `usr`.`name`
FROM (
`comms`
)
JOIN `users` AS usr ON `usr`.`id` = `comms`.`user_id`
WHERE `update_id`
IN (
'1451', '1416', '1186', '1157', '1150', '1122', '1057', '914', '850', '816', '794', '790', '749', '746', '745', '744', '740'
)
ORDER BY `id` DESC
LIMIT 3
如果你想三个结果LIMIT 3是怎么啦? –
因为我有10个更新,所以最新的3将乘以30而不是3.我想显示最新的3每update_id。 – Ando
这可能有所帮助:[在GROUP BY中使用LIMIT获得每个组的结果?](http://stackoverflow.com/questions/2129693/mysql-using-limit-within-group-by-to-get-n-每组的结果) –