繁体   English   中英

MySQL COUNT(),SUM()和GROUP BY

[英]MySQL COUNT(), SUM() and GROUP BY

我有一个关于MySQL的特殊问题。 请查看下面的查询和结果集:

SELECT COUNT(c.Population) AS c, c.City AS cc
FROM City c
GROUP BY c.City
ORDER BY c.City;

261 | Bristol
----------------
910 | London
----------------
241 | Manchester
----------------

我想得到COUNTs的SUM,所以在这种情况下我想在下一行或新列中看到'1412',这并不重要。

有什么建议? 我试图对此应用子查询,但我找不到合适的解决方案。

干杯

WITH ROLLUP能做你需要的吗?

SELECT 
      COUNT(c.Population) AS c, 
      c.City AS cc 
FROM City c 
GROUP BY c.City 
WITH ROLLUP;

在select语句中,这应该工作(未经测试)。

SELECT 
    COUNT(c.Population) AS c, 
    c.City AS cc, 
    (SELECT COUNT(c.Population) FROM City) as TotalPop 
FROM City c 
GROUP BY c.City 
ORDER BY c.City;

在最后一行:

SELECT *
  FROM
(
    SELECT 0 as total
         , COUNT(c.Population) AS c
         , c.City AS cc
      FROM City c GROUP BY c.City

     union

    SELECT 1 as total
         , COUNT(c.Population) AS c
         , null AS cc
      FROM City
) myquery
ORDER BY total
       , city

订购c.City;

用简单的UNION;

select count(d.Population) as c, 'TOTAL' as cc from City d

union

SELECT COUNT(c.Population) AS c, c.City AS cc
FROM City c
GROUP BY c.City
ORDER BY c.City;

约翰

暂无
暂无

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

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