我试图在列中添加一个列的总和,然后为我的所有行显示它。具体来说,我有一个表格,其中每一行都是一个国家,并且有一个列用一个区域标识它们。第三列是一项措施。我试图做的是对来自同一地区的措施进行总结,然后将它们展示给外部国家。
这是我目前的查询:
SELECT country, region, SUM(share) AS value_sum FROM data_xlsx_Hoja2 GROUP BY region
我知道,group by只是按区域显示,但是那些值是我希望放在每个国家/地区旁边的那些值。现在我得到的是一张表,其中包括来自每个地区的第一个国家,然后是总和。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
我认为您的country
信息比region
信息更具体。
因此,您可以使用主查询返回两个信息country
和region
,以及一个子查询,以返回同一地区内所有国家/地区的总和。
试试这个:
SELECT main.country, main.region,
(SELECT SUM(sec.share)
FROM data_xlsx_Hoja2 sec WHERE sec.region = main.region) as total
FROM data_xlsx_Hoja2 main
答案 1 :(得分:0)
您似乎想要关联 subquery
:
SELECT country, region,
(SELECT SUM(d1.share)
FROM data_xlsx_Hoja2 d1
WHERE d1.region = d.region
) AS value_sum
FROM data_xlsx_Hoja2 d;