所以我有一个表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]我必须使用UPDATE
和SET
吗?
答案 0 :(得分:3)
您需要按国家/地区分组,插入该国家/地区并选择该国家/地区:
INSERT INTO weatherOccurences(country, occurenceTotal)
SELECT country, SUM(occurences)
from weather
GROUP BY country