MYSQL - 查找不同列的所有不同字段的列总和?

时间:2016-04-01 22:08:34

标签: mysql sql

所以我有一个表weather看起来像这样:

country | occurences 
USA     |  5 
UK      |  1 
BOL     |  1
USA     |  2 
UK      |  1 

这个表weatherOccurences是我想要生成的:

country | occurenceTotal
USA     | 7 
UK      | 2
BOL     | 1

基本上,对于每个不同的国家,我想计算它的所有出现...但我不知道该怎么做。我试过了:

INSERT INTO weatherOccurences(`occurenceTotal`)
SELECT SUM(occurences) from weather w1 
JOIN weatherOccurences w2 
ON w1.country = w2.country 

然而,不是给我每个国家的出现次数,而是只取了所有出现的总和......并将其附加到最后的新行。我怎么做前者?任何帮助将不胜感激,谢谢!

[edit]我必须使用UPDATESET吗?

1 个答案:

答案 0 :(得分:3)

您需要按国家/地区分组,插入该国家/地区并选择该国家/地区:

INSERT INTO weatherOccurences(country, occurenceTotal)
SELECT   country, SUM(occurences) 
from     weather
GROUP BY country