SELECT uid,COUNT(id) answer_count
FROM hrclass.`cls_post`
WHERE clsid = 1001
GROUP BY uid
ORDER BY answer_count DESC
LIMIT 20 大家看下这条sql,本意是先用户id分组按照获取每个用户发帖数的大小来取前20条:
然而得到的结果却是:
这是为何?
但是如果用子查询就可以达到正确的结果:SELECT * FROM (SELECT uid,COUNT(id) answer_count FROM hrclass.`cls_post` WHERE clsid = 1001 GROUP BY uid ORDER BY answer_count DESC) temp LIMIT 20
求科普。
[征集]分组取最大N条记录方法征集,及散分....