我想将行加在一起并在表格底部产生一个新行。
在下面的示例中,我想累加美国,加拿大和墨西哥的人口,并在表格中添加新行(请参见下面的箭头和红色单元格)。
在Excel中,这只是使用SUM函数的一种情况,但是如何在SQL中执行此操作?当我使用sum(population)
时,会产生一个新列-但我需要将其作为一行。
目前,我的解决方案是创建一个新表,其中汇总了“人口”列,然后UNION ALL
到原始表。我想你会承认,这不是很优雅。
必须有一种不用SQL使用UNION ALL
的方法吗?
谢谢
答案 0 :(得分:1)
只需使用以下SQL插入查询。
Insert into TABLE_NAME (Country, Population)
values ('North American Region', (select sum(Population) from TABLE_NAME));
您必须将TABLE_NAME
更改为表的名称,并相应地使用列值。
答案 1 :(得分:1)
您可以尝试做一些类似的事情
INSERT INTO T( country, popolation )
SELECT "North America region" as country, SUM( Population ) as Population
FROM T
WHERE country in ('US','Canada','Mexico')
答案 2 :(得分:1)
您可以使用汇总
{% extends "page.twig" %}
{% block additional %}
<div id="page-services">
<section id="services">
<div class="row small-up-1 large-up-1">
<div class="small-12 medium-11 large-9 columns small-centered">
<div class="services-grid animated fadeIn wow">
<p align="center">
{{post.services_desc}}
</p>
</div>
</div>
</div>
<div class="line centered"></div>
</div>
<center>
<div class="row">
<div class="small-12 medium-11 large-9 columns small-centered">
<div class="features-header animated fadeIn wow">
{% for item in post.get_field('services_ist') %}
<div class="column services">
<h2 class="capitalize bold">
{{item.services_title}}
</h2>
{% if item.services_subtitle %}
<h4 class="subtitle">
{{item.services_subtitle}}
</h4>
<div class="line thin"></div>
{% endif %}
{% if item.services_content %}
<div class="description">
{{item.services_content}}
<br><br>
</div>
{% endif %}
{% if feats.services_feat %}
{% for feats in post.get_field('services_feat') %}
<p>{{feats.feat_title}}</p>
{% endfor %}
{% if feats.feats_desc %}
<h4 class="feats description">
{{feats.feats_desc}}
</h4>
{% endif %}
{% endif %}
</div>
{% endfor %}
</center>
</div>
</div>
</div>
</section>
</div>
{% endblock %}
或使用联合
SELECT country, sum(Population) as Population
FROM your_table
group by country
WITH ROLLUP;