mysql - 尝试连接 3 个语句

标签 mysql sql

SELECT       INS_PRODUCT, SR_AREA, RESOLUTION_CD, COUNT(*) AS Vol        
FROM S_SRV_REQ          
WHERE  (INS_PRODUCT = 'Mobl Hlth') AND (CREATED BETWEEN '10/1/2014' AND '09/30/2015') and (SR_AREA IS NOT NULL)    
GROUP BY INS_PRODUCT, SR_AREA, RESOLUTION_CD
ORDER BY INS_PRODUCT, SR_AREA, RESOLUTION_CD

SELECT       INS_PRODUCT, SR_AREA, RESOLUTION_CD, COUNT(*) AS Vol        
FROM S_SRV_REQ          
WHERE  (INS_PRODUCT = 'MHV') AND (CREATED BETWEEN '10/1/2014' AND '09/30/2015') and (SR_AREA IS NOT NULL)    
GROUP BY INS_PRODUCT, SR_AREA, RESOLUTION_CD
ORDER BY INS_PRODUCT, SR_AREA, RESOLUTION_CD

SELECT       INS_PRODUCT, SR_AREA, RESOLUTION_CD, COUNT(*) AS Vol        
FROM S_SRV_REQ          
WHERE  (INS_PRODUCT = 'eBenefits') AND (CREATED BETWEEN '10/1/2014' AND '09/30/2015') and (SR_AREA IS NOT NULL)    
GROUP BY INS_PRODUCT, SR_AREA, RESOLUTION_CD
ORDER BY INS_PRODUCT, SR_AREA, RESOLUTION_CD

每个代码都提取我需要的不同信息

最佳答案

您可以将 WHERE 子句组合在一起:

SELECT INS_PRODUCT, SR_AREA, RESOLUTION_CD, COUNT(*) AS Vol        
FROM S_SRV_REQ          
WHERE SR_AREA IS NOT NULL
AND CREATED BETWEEN '10/1/2014' AND '09/30/2015'
AND INS_PRODUCT IN ('Mobl Hlth', 'MHV', 'eBenefits')
GROUP BY INS_PRODUCT, SR_AREA, RESOLUTION_CD
ORDER BY INS_PRODUCT, SR_AREA, RESOLUTION_CD
<小时/>

或者你可以将它们结合在一起:

SELECT INS_PRODUCT, SR_AREA, RESOLUTION_CD, COUNT(*) AS Vol        
FROM S_SRV_REQ          
WHERE  (INS_PRODUCT = 'Mobl Hlth') AND (CREATED BETWEEN '10/1/2014' AND '09/30/2015') and (SR_AREA IS NOT NULL)    
GROUP BY INS_PRODUCT, SR_AREA, RESOLUTION_CD

UNION ALL

SELECT INS_PRODUCT, SR_AREA, RESOLUTION_CD, COUNT(*) AS Vol        
FROM S_SRV_REQ          
WHERE  (INS_PRODUCT = 'MHV') AND (CREATED BETWEEN '10/1/2014' AND '09/30/2015') and (SR_AREA IS NOT NULL)    
GROUP BY INS_PRODUCT, SR_AREA, RESOLUTION_CD

UNION ALL

SELECT INS_PRODUCT, SR_AREA, RESOLUTION_CD, COUNT(*) AS Vol        
FROM S_SRV_REQ          
WHERE  (INS_PRODUCT = 'eBenefits') AND (CREATED BETWEEN '10/1/2014' AND '09/30/2015') and (SR_AREA IS NOT NULL)    
GROUP BY INS_PRODUCT, SR_AREA, RESOLUTION_CD
ORDER BY INS_PRODUCT, SR_AREA, RESOLUTION_CD

有两件事需要注意:UNION ALL 当您知道您的记录不重叠时。这避免了数据库检查重复项。另外,只需在末尾放置一个 ORDER BY

关于mysql - 尝试连接 3 个语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37216944/

相关文章:

java - 在servlet java中将字符串转换为Mysql时间戳

mysql - 最好有一个主表或拆分成多个表?

mysql - 关于mysql速度的简单问题

sql - 如何阅读 NLS_DATE_FORMAT?

sql - SQLite UPDATE语句中的相关子查询(或等效查询)?

mysql - 大型 WHERE 查询

mysql - 如何使用 LOAD XML 将此 xml 数据插入到 mysql

mysql - 无法添加或更新子行 : a foreign key constraint fails (`dbName` .`#sql-e77_7`

sql - 使用来自其他两个列的数据更新空列所有 varchar/text Postgresql

sql - 如何更改postgresql中的外键值?