[英]AWS Redshift sql grouping by
我正在研究具有以下列的 Redshift 數據庫表。
Impact rootcause
1 - Company impacted dependent
2 - Org impacted dependent
2 - Org impacted Monitoring Autocut
2 - Org impacted Duplicate
3 - Group impacted Operational - Question/No Issue
3 - Group impacted Monitoring Autocut
3 - Group impacted Duplicate
4 - Individual impacted Operational - Question/No Issue
4 - Individual impacted Monitoring Autocut
4 - Individual impacted Duplicate
5 - No impact Operational - Question/No Issue
5 - No impact Monitoring Autocut
5 - No impact Duplicate
我的目標是獲取以下格式的數據。 3 - 群體影響,4 - 個人影響,5 - 無影響應歸為“低”嚴重性。 1 - 公司受影響,2 - 受影響的組織應歸為“高”嚴重性。
Severity rootcause count
Low Operational - Question/No Issue 3
Low Monitoring Autocut 3
Low Duplicate 3
High dependent 2
High Monitoring Autocut 1
High Duplicate 1
我在下面寫了 sql 查詢。
select
CASE WHEN Impact IN ('1 - Company impacted','2 - Org impacted') THEN 'High'
WHEN assigned_min_impact IN ('3 - Group impacted','4 - Individual impacted','5 - No impact') THEN 'Low'
ELSE 'NA' END as severity,
rootcause, count(*) from TABLE
group by Impact, root_cause;
上面的查詢沒有給出想要的結果。 有人可以請我幫忙嗎?
您必須在group by
中添加case
表達式,如下所示
select
CASE
WHEN Impact IN ('1 - Company impacted','2 - Org impacted') THEN 'High'
WHEN assigned_min_impact IN ('3 - Group impacted','4 - Individual impacted','5 - No impact') THEN 'Low'
ELSE 'NA'
END as severity,
rootcause,
count(*)
from TABLE
group by
rootcause,
CASE
WHEN Impact IN ('1 - Company impacted','2 - Org impacted') THEN 'High'
WHEN assigned_min_impact IN ('3 - Group impacted','4 - Individual impacted','5 - No impact') THEN 'Low'
ELSE 'NA'
END;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.