[英]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.