1

我有一个 SQL,它为每个 Event_ID 返回一个 cnt1 和 cnt2,同时测试列“POSA”的条件

这将根据需要返回以下内容:

事件ID | CNT1 | 碳纳米管2

我想在每个 CASE 语句中添加另一个条件,以测试同一个表中的另一列“S”是否不同。下面是代码片段:

SELECT Event_ID, 
 sum  
 (CASE WHEN POSA IN ('SX', 'DX')  THEN 1 
    ELSE 0 
 END) 
 AS cnt1,
sum 
(CASE  
    WHEN POSA IN ('SP', 'DP')  THEN 1 
    ELSE 0 
 END) AS cnt2


FROM Station_Processed_Info GROUP BY EVENT_ID;
4

1 回答 1

1
SELECT Event_ID,   
SUM(CASE 
   WHEN POSA IN ('SX', 'DX')  THEN 1
   WHEN DISTINCT("S") THEN something 
    ELSE 0   END)   AS cnt1, 
SUM (CASE  
    WHEN POSA IN ('SP', 'DP')  THEN 1
    WHEN DISTINCT("S") THEN something 
    ELSE 0   END) AS cnt2    
FROM Station_Processed_Info GROUP BY EVENT_ID;
于 2012-11-06T20:44:07.493 回答