SQL Join 和 Count 不能正确 GROUP BY?

标签 sql join count group-by

因此,假设我想选择我所有博客文章的 ID,然后选择与该博客文章相关的评论计数,我如何使用 GROUP BY 或 ORDER BY 以便返回的列表按每篇文章的评论数量排序?

我有这个查询返回数据但不是按我想要的顺序?更改组没有区别:

SELECT p.ID, count(c.comment_ID) 
FROM wp_posts p, wp_comments c 
WHERE p.ID = c.comment_post_ID 
GROUP BY c.comment_post_ID;

最佳答案

我不熟悉 SQL92 之前的语法,所以我会用我熟悉的方式来表达它:

SELECT c.comment_post_ID, COUNT(c.comment_ID)
FROM wp_comments c
GROUP BY c.comment_post_ID
ORDER BY COUNT(c.comment_ID) -- ASC or DESC

你用的是什么数据库引擎?至少在 SQL Server 中,除非您从帖子表中提取更多数据,否则不需要联接。加入:
SELECT p.ID, COUNT(c.comment_ID)
FROM wp_posts p
JOIN wp_comments c ON c.comment_post_ID = p.ID
GROUP BY p.ID
ORDER BY COUNT(c.comment_ID)

关于SQL Join 和 Count 不能正确 GROUP BY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/933040/

相关文章:

hadoop - HiveQL 查询没有返回结果,也没有错误

python - 如何计算 JSON 数据中的项目

mysql - 计数考虑 3 列的总和

sql - BigQuery : Use COUNT as LIMIT

sql - SQL:每个值​​的最大出现次数

MySQL - 正确的人口

mysql - 需要查询两个字段的不同组合,以及出现不同组合的计数

mysql - 新的选择列,其计数器根据 SQL 中的条件而增加

php - 如何将这些数据分组到数组中?

java - 我想在表中插入数组值来完成此任务,我必须创建动态插入查询。如何执行它?