我想将行加在一起并在表格底部生成一个新行。
在下面的示例中,我想将美国、加拿大和墨西哥的人口相加,并向表中添加一个新行(请参见下面的箭头和红色单元格)。
在 Excel 中,这只是一个使用 SUM 函数的案例,但我如何在 SQL 中执行此操作?当我使用 sum(population)
时,这会生成一个新列 - 但我需要它作为一行。
目前我的解决方案是创建一个聚合了人口列的新表,然后 UNION ALL
到我的原始表。不是很优雅我想你会承认。
必须有一种方法可以在不使用 UNION ALL
的情况下使用 SQL 完成它吗?
谢谢
最佳答案
你可以使用卷起
SELECT country, sum(Population) as Population
FROM your_table
group by country
WITH ROLLUP;
或者使用联合
SELECT country, sum(Population) as Population
FROM your_table
group by country
union
SELECT "North America region", SUM( Population ) as Population
FROM
关于mysql - SQL:如何将多行添加在一起以生成新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53302147/