所以我有一个包含5列的表:id, user_id, news_id, comment and date
。每当用户在新闻的评论区域发布内容时,数据都会插入到此表中。
现在我正在尝试制作顶级海报功能,以显示发布评论最多的人。
我想知道如何根据表中存在user_id的次数从此表中排序结果。
例如:
1 - 134(user_id) -> 20 posts(that's how many times this user_id was found in the table.)
2 - 123 -> 19
3 - 168 -> 15
等等。
提前致谢。
答案 0 :(得分:5)
SELECT user_id, COUNT (*) as comments
FROM table
GROUP BY user_id
ORDER BY comments DESC
答案 1 :(得分:2)
TSQL
select userID, count(*)
from userIDtable
group by userID
order by count(*) desc, userID asc
答案 2 :(得分:1)
我认为你将列与列混淆,但没关系。这很容易做到:
SELECT
user_id,
COUNT(*) posts
FROM
comments
GROUP BY
user_id
ORDER BY
posts DESC
答案 3 :(得分:0)
SELECT count(user_id) C, user_id FROM RECORDS ORDER BY C LIMIT 5
答案 4 :(得分:0)
“所以我有一个包含5行的表:id,user_id,news_id,comment和date。每当用户在新闻的评论区域发布内容时,数据就会被插入到这个表中。” 在这个答案中,我假设你的意思是上面的5列。
select user_id, count(*) num from tableName group by user_id order by num desc;