Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用union计算3个表的总数_Sql - Fatal编程技术网

Sql 使用union计算3个表的总数

Sql 使用union计算3个表的总数,sql,Sql,你好 我只是想问一下我的问题 我想得到每个国家的表的总和 这是我的表格和期望的输出 这是我的问题 select country,continent,(mycol2+mycol3+mycol4+mycol5+mycol6+mycol7+mycol8 +mycol9+mycol10+mycol11+mycol12+mycol13+mycol14+mycol15+mycol16+mycol17 +mycol18+mycol19+mycol20+mycol21+mycol22

你好

我只是想问一下我的问题

我想得到每个国家的表的总和 这是我的表格和期望的输出

这是我的问题

        select country,continent,(mycol2+mycol3+mycol4+mycol5+mycol6+mycol7+mycol8
   +mycol9+mycol10+mycol11+mycol12+mycol13+mycol14+mycol15+mycol16+mycol17
   +mycol18+mycol19+mycol20+mycol21+mycol22+mycol23+mycol14+mycol25+mycol26
   +mycol27+mycol27+mycol29+mycol30+mycol31) as total from tblWRSTopTargetVictim
        union 
        select country,continent,(mycol2+mycol3+mycol4+mycol5+mycol6+mycol7+mycol8
   +mycol9+mycol10+mycol11+mycol12+mycol13+mycol14+mycol15+mycol16+mycol17
   +mycol18+mycol19+mycol20+mycol21+mycol22+mycol23+mycol14+mycol25+mycol26
   +mycol27+mycol27+mycol29+mycol30+mycol31) as total from               tblFRSMalwareDetectionMap
        union 
        select country,continent,(mycol2+mycol3+mycol4+mycol5+mycol6+mycol7+mycol8
   +mycol9+mycol10+mycol11+mycol12+mycol13+mycol14+mycol15+mycol16+mycol17
   +mycol18+mycol19+mycol20+mycol21+mycol22+mycol23+mycol14+mycol25+mycol26
   +mycol27+mycol27+mycol29+mycol30+mycol31) as total from tblERSSpamVolumeMap
这是根据上面的查询生成的结果,我想计算每个国家的合计结果,下面是我想查看的结果

     country        continent       total
     AFGHANISTAN    Asia            6871
    AFGHANISTAN Asia            61479
    AFGHANISTAN Asia            257988
    ALAND ISLANDS   Europe          19
    ALAND ISLANDS   Europe          201
    ALBANIA         Europe          2340
    ALBANIA         Europe          9998
    ALBANIA         Europe          2612205
    ALGERIA         Africa          5675
    ALGERIA         Africa          84028
    ALGERIA         Africa          1435598
    AMERICAN        SAMOA   Oceania 8
    AMERICAN        SAMOA   Oceania 538
    AMERICAN        SAMOA   Oceania 43325
    ANDORRA         Europe          1341
    ANDORRA         Europe          3330
    ANDORRA         Europe          91466
    ANGOLA          Africa          8211
    ANGOLA          Africa          30009
    ANGOLA          Africa          846688
    ANGUILLA    North America   313
    ANGUILLA    North America   919
我希望输出是

     country        continent          total
     AFGHANISTAN    Asia               326338
     ALAND ISLANDS  Europe             40
     ALBANIA        Europe             12338
     ALGERIA    Africa             1525301
     AMERICAN       SAMOA   Oceania    43871
     ANDORRA        EUROPE             96137
     ANGOLA         AFRICA             884908
     ........
     ........

是的,你必须使用分组方式。但是,我可以理解,如何做到这一点,目前还不明显:

SELECT country, continent, sum(total)
 FROM (
select country,continent,(mycol2+mycol3+mycol4+mycol5+mycol6+mycol7+mycol8   +mycol9+mycol10+mycol11+mycol12+mycol13+mycol14+mycol15+mycol16+mycol17   +mycol18+mycol19+mycol20+mycol21+mycol22+mycol23+mycol14+mycol25+mycol26   +mycol27+mycol27+mycol29+mycol30+mycol31) as total 
 from tblWRSTopTargetVictim
    union all
select country,continent,(mycol2+mycol3+mycol4+mycol5+mycol6+mycol7+mycol8   +mycol9+mycol10+mycol11+mycol12+mycol13+mycol14+mycol15+mycol16+mycol17   +mycol18+mycol19+mycol20+mycol21+mycol22+mycol23+mycol14+mycol25+mycol26   +mycol27+mycol27+mycol29+mycol30+mycol31) as total 
 from tblFRSMalwareDetectionMap
    union all
select country,continent,(mycol2+mycol3+mycol4+mycol5+mycol6+mycol7+mycol8   +mycol9+mycol10+mycol11+mycol12+mycol13+mycol14+mycol15+mycol16+mycol17   +mycol18+mycol19+mycol20+mycol21+mycol22+mycol23+mycol14+mycol25+mycol26   +mycol27+mycol27+mycol29+mycol30+mycol31) as total 
 from tblERSSpamVolumeMap
     ) as A
 GROUP BY country, continent

提供数据库模式、示例数据、预期输出(格式化,而不仅仅是描述)。如果需要一般帮助,请使用“按国家分组”按Country Country大陆total Country大陆total阿富汗亚洲6871阿富汗亚洲61479阿富汗亚洲257988阿兰群岛欧洲19阿兰群岛欧洲201阿尔巴尼亚欧洲2340阿尔巴尼亚欧洲9998阿尔巴尼亚欧洲2612205阿尔及利亚非洲5675阿尔及利亚非洲84028阿尔及利亚非洲1435598分组所有的1636185828美属萨摩亚大洋洲8美属萨摩亚大洋洲538美属萨摩亚大洋洲43325安道尔欧洲1341安道尔欧洲3330安道尔欧洲91466安哥拉非洲8211安哥拉非洲30009安哥拉非洲846688我只想计算我放弃的每个国家的总数,我想你误解了我对更多信息的要求,只是断章取义地回答了一些问题。要么你提供更多的信息,要么这个问题就得不到回答/或者猜测答案。我建议提供一个“createtable”来创建您正在使用的“INSERT-INTO”表,该表将在其中放置数据。您尝试过“groupby”吗?你知道它是干什么的吗?它通过一列进行分组,也可以做一个总和((mycl2+mycl3+mycl4+mycl5+mycl6+mycl7+mycl8+mycl9+mycl10+mycl11+mycl12+mycl13+mycl14+mycl15+mycl16+mycl17+mycl18+mycl19+mycl20+mycl21+mycl22+mycl23+mycl14+mycl25+mycl26+mycl27+mycl27+mycl29+mycl30+mycl31))和按国家分组,应该有效(尽管我没有办法检查)