简体   繁体   English

sql计数的agrouped列的总和

[英]sql count of sum of agrouped column

I know im asking a silly question, but need a efficient answer: here is my sql: 我知道即时提出一个愚蠢的问题,但需要一个有效的答案:这是我的sql:

"SELECT STATUS, COUNT(STATUS) FROM CONTENT GROUP BY STATUS

  +------------+---------------+
  | STATUS     | COUNT(STATUS) |
  +------------+---------------+
  | Converted  |          4547 |
  | Received Q |           525 |
  | Signed     |             1 |
  | Uploaded   |            15 |
  +------------+---------------+

The result is absolutely fine but i need he total or sum of the count(Status) too like 4547+525+1+15 sum up, but how can i do that with easy solution as in my db i have millions of data. 结果是绝对正常,但我需要他总数或计数 总和 (状态)太像4547 + 525 + 1 + 15总结,但我怎么能用简单的解决方案,因为在我的数据库我有数百万的数据。

Thanks 谢谢

您可以使用rollup https://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

SELECT STATUS, COUNT(STATUS) FROM CONTENT GROUP BY STATUS WITH ROLLUP

We can do this by using result from the main query as inner query. 我们可以通过使用主查询的结果作为内部查询来完成此操作。 Though this is little dummy way of doing this. 虽然这是做这个的虚拟方式。

    SELECT STATUS, STATUS_COUNT, SUM(STATUS_COUNT) AS TOTAL FROM (SELECT STATUS, COUNT(STATUS) AS STATUS_COUNT FROM CONTENT GROUP BY STATUS) AS X

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM