首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表中的多个SQL查询

表中的多个SQL查询
EN

Stack Overflow用户
提问于 2016-04-08 19:37:45
回答 3查看 41关注 0票数 0

所以我有一个事件表:

代码语言:javascript
复制
    incidentID | threatlevel | typeOfIncident | region 
    __________________________________________________
         1           5              H1N5         West
         2           5         Zombie Apocalyse  West
         3           5         Zombie Apocalyse  South
         4           5              H1N5         North
         5           5         Zombie Apocalyse  East
         6           3         Zombie Apocalyse  West

如何根据两种不同类型的事件检索每个区域的威胁级别总和?我尝试了按区域分组,但它消除了所有相似的区域。

如何在一条SQL语句中检索所有这些值:

例如

总威胁等级为0的僵尸启示录来自北部地区,

南部地区僵尸启示录的总威胁等级为5级,

东部地区僵尸启示录的总威胁等级为5级,

来自西部地区的僵尸启示录的总威胁等级为8,

来自北部地区的H1N5的总威胁级别为5,

南部地区H1N5的总威胁级别为0

东部地区H1N5的总威胁级别为0

来自西部地区的H1N5总威胁级别为5,

返回如下:0作为ZombieNorth,5作为ZombieSouth,5作为ZombieEast,8 ZombieWest,5作为H1N5North,0作为H1N5South,0作为H1N5East,5 H1N5West,

EN

回答 3

Stack Overflow用户

发布于 2016-04-08 19:45:57

在任何数据库中,都可以对GROUP BY使用两个密钥

代码语言:javascript
复制
select typeOfIncident, region, sum(threatlevel) as total_threatlevel
from t
group by typeOfIncident, region;
票数 2
EN

Stack Overflow用户

发布于 2016-04-08 19:40:38

试试这个:

代码语言:javascript
复制
SELECT typeOfIncident, 
       SUM(CASE WHEN region = 'West' THEN threatlevel ELSE 0 END) AS WestThreatLevel,
       SUM(CASE WHEN region = 'East' THEN threatlevel ELSE 0 END) AS EastThreatLevel,
       SUM(CASE WHEN region = 'North' THEN threatlevel ELSE 0 END) AS NorthThreatLevel,
       SUM(CASE WHEN region = 'South' THEN threatlevel ELSE 0 END) AS SouthThreatLevel
FROM mytable
GROUP BY typeOfIncident

SELECT子句使用条件聚合来计算每个单独regionthreatlevel总和。

票数 0
EN

Stack Overflow用户

发布于 2016-04-08 19:49:03

你的问题中有以下几点让我感到困惑:

来自西部地区的僵尸启示录

总威胁级别为8

..。

来自西部地区的僵尸启示录的总威胁等级为5

假设第二个应该是

西部地区H1N5的

总威胁级别为5

那么我想答案是

代码语言:javascript
复制
SELECT 
 region
,typeOfIncident
,SUM(threatLevel)
FROM 
 <table>
GROUP BY
 region
,typeOfIncident
;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36498613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档