首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算单独行中的重复值并对其进行排序

计算单独行中的重复值并对其进行排序
EN

Stack Overflow用户
提问于 2011-04-19 21:52:48
回答 2查看 1.1K关注 0票数 1

我有一个由列press_release_id关联的tbl_press_release和tbl_press_release_comment。tbl_comment中的每条评论都有一行。

如何计算每个press_release_id有多少条评论?

代码语言:javascript
复制
SELECT
    press_release_subject,
    (SELECT COUNT(press_release_id)
     FROM tbl_press_release_comment) as CommentCount
FROM
    tbl_press_release pr
ORDER BY
    CommentCount DESC

这将返回每个新闻稿,但所有新闻稿的CommentCount都是相同的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-19 21:58:45

您需要使用GROUP BY子句将注释正确地聚合到JOIN语句中,以链接这两个表。

代码语言:javascript
复制
SELECT pr.press_release_subject, COUNT(*) AS CommentCount
FROM tbl_press_release pr
    LEFT JOIN tbl_press_release_comment prc ON prc.press_release_id = pr.id
GROUP BY press_release_subject
ORDER BY CommentCount DESC

连接可能不会按原样工作,因为我不知道您的列名。

你现在的问题,基本上是询问每个新闻发布的主题,以及每个评论的数量。如果没有GROUP BY,您的数据库管理系统就不知道如何区分计数。

GROUP BY告诉您的DBMS聚合函数必须在指定的列中为每个不同的值返回一条记录。例如,上面的查询告诉我们计算主题为press_release_subject的评论的数量。如果使用聚合函数(如COUNTSUMAVG等),则必须在GROUP BY子句中指定要并排返回的任何常规列。

票数 2
EN

Stack Overflow用户

发布于 2011-04-19 21:59:43

代码语言:javascript
复制
SELECT
    pr.press_release_subject,
    COUNT(*) CommentCount 
FROM tbl_press_release pr
LEFT JOIN tbl_press_release_comment prc
ON pr.press_release_id = prc.press_release_id
GROUP BY pr.press_release_subject
ORDER BY  COUNT(*) DESC
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5717446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档