我们如何显示表的总和以及分组总和。这是表格 表名称 - 人口
City Building_no population
Chicago 5 10
Chicago 6 20
Denver 8 25
Denver 9 30
输出
City City_Population Total_Population
Chicago 30 85
Denver 55 85
我可以使用以下代码获取 City_population -
select city, sum(population) from population group by city
如何获取total_population一栏?
您可以使用子查询作为列:
SELECT city,
SUM(population),
(SELECT SUM(population)
FROM population) AS the_total
FROM population
GROUP BY city;
或者在FROM语句中使用子查询:
SELECT a.city,
SUM(a.population),
b.total_population
FROM population a,
(SELECT SUM(population) AS total_population
FROM population) b
GROUP BY a.city,
b.total_population;
虽然第二个选项可能看起来更复杂,但使用更大的表可能会得到更好的结果,因为 - 我相信 - 子查询只会运行一次,而在 SELECT 语句中使用子查询可能需要为每一行运行。