【发布时间】:2021-08-26 17:22:54
【问题描述】:
我有下面的代码,我需要在 case 语句的一个条件中输入一个计数函数,然后按下面的 case 语句分组。但这并没有让我对案例陈述进行分组。我基本上想创建一个名为“Both”的第三个存储桶,条件如下
select
CASE
WHEN i.CLASSIFICATION in ('CUSTOMER','PARTNER') THEN 'API'
WHEN i.CLASSIFICATION in ('MOBILE','NDSE') THEN 'APP'
WHEN (i.CLASSIFICATION in ('MOBILE','NDSE','CUSTOMER','PARTNER') OR count(distinct UPPER(p.ACCOUNTID)) >=2) THEN 'BOTH'
ELSE 'Other' END AS "Bucket",
count(distinct ACCOUNTID) as No_Accounts,count(distinct envelopeid_hash) as numenvelopes
from ENVELOPE_TABLE e
JOIN DIMDATE_TABLE b on to_date(e.sentinitial)=b.standarddate
join PAYING_TABLE p
on UPPER(e.ACCOUNTID)=UPPER(p.ACCOUNTID)
LEFT JOIN IK_TABLE i ON i.IntegratorKeyId = e.InitiatingIntegratorKeyId AND i.SourceKey = e.SourceKey
group by 1
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
标签: sql if-statement group-by count case