Oracle SQL:使用COUNT()>;1当组合两个CASE-When语句时
我有一行SQL,它生成一个购买计数变量Oracle SQL:使用COUNT()>;1当组合两个CASE-When语句时,sql,count,case,Sql,Count,Case,我有一行SQL,它生成一个购买计数变量 count(distinct case when t.transaction_sub_type =1 then t.transaction_date end) as COUNTPUR, 我需要对此进行修改,以便生成一个0/1标志变量,该变量用于标记客户是否是重复购买者。因此,当客户的购买量大于1时,则标记为1,否则标记为0 case when COUNTPUR>1 then 1 else 0 end as FLAG_REPEATPURCHASER
count(distinct case when t.transaction_sub_type =1 then t.transaction_date end) as COUNTPUR,
我需要对此进行修改,以便生成一个0/1标志变量,该变量用于标记客户是否是重复购买者。因此,当客户的购买量大于1时,则标记为1,否则标记为0
case when COUNTPUR>1 then 1 else 0 end as FLAG_REPEATPURCHASER
我需要将这两个案例陈述合并为一个。我一直在尝试不同版本的语法,但我似乎无法确定它。下面是一个不起作用的实验
max(case when (count(distinct case when t.transaction_sub_type =1 then t.transaction_date end))>1 then 1 else 0 end) as FLAG_REPEATPURCHASER,
提前感谢您的帮助您可以使用带有条件聚合的
案例
表达式:
(case when count(distinct case when t.transaction_sub_type = 1 then t.transaction_date end) > 1
then 1 else 0
end) as FLAG_REPEATPURCHASER
对不起,我只是删除了上面的评论。它起作用了。谢谢