gpt4 book ai didi

mysql - 使用从一个表到另一个表的 COUNT(*) 值

转载 作者:行者123 更新时间:2023-11-29 03:55:53 26 4
gpt4 key购买 nike

假设我有两个表,users 和 posts。帖子具有以下字段,userid、postid 等,并且 userid 可以出现多次,因为一个用户可以写多篇帖子....我只是尝试根据帖子表中每个 userid 的出现次数对用户表进行排序。我可以使用这个获取每个用户的出现次数

    SELECT userid, COUNT(*) 
FROM posts
GROUP BY userid;

我想使用 COUNT(*) 列下的值,也许将它添加到我的其他表中,因为这样我就可以简单地做这样的事情

  SELECT * FROM users
ORDER BY newcolumn ASC;

但我在这样做时遇到了麻烦。或者我可以在不添加额外列的情况下做到这一点吗?请提示。谢谢

最佳答案

Left join 是这里的关键!

SELECT users.userid,count(posts.userid) AS total_count
FROM users
LEFT JOIN posts on posts.userid = users.userid
GROUP BY users.userid
ORDER BY total_count DESC;

我们对两个具有相同 user_id 的表进行左连接,我们使用group by 计算每个用户的帖子总数.最后按计数排序并显示结果。

关于mysql - 使用从一个表到另一个表的 COUNT(*) 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41272578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com