Oracle SQL:组合两个CASE WHEN语句时使用COUNT()> 1

用户名

我有一行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

我需要将这两个case语句合并为一个。我一直在尝试使用不同版本的语法,但似乎无法确定。以下是无效的实验之一。

 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表达式与条件聚合一起使用:

(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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Server 2019:无法组合两个查询,当 1 解析字符串时

在 React 组件中组合两个 switch/case 语句

如何使用间隔 1 分钟将时间序列数据生成到两个日期之间的 Oracle PL/SQL 表中?

使用 NOT IN 联合两个选择语句 - Oracle

如何使用FP的compose()JavaScript将两个函数组合为1个?

Django Admin Site的两个模型使用Foreignkey组合为1个模型

两个聚合值之间的 derby sql 差异或如何组合两个 sql 语句

当我只希望有任何条件的结果时,带有LIKE的Oracle SQL CASE返回两个方案的值

Oracle SQL:Case 语句

Oracle在SQL中添加1小时

Oracle SQL 选择两个不同选择语句结果的最大值

Oracle Sql-我有两个表,需要使用table2的结果过滤table1。如果table2为空,我需要返回所有table1

加入两个查询Oracle SQL时出现问题

Oracle:通过联合将两个按查询组合在一起(它们使用聚合函数count())以得到合并结果

ORACLE SQL:使用SUBSTR构建CASE语句

在oracle sql中使用CASE语句

如何从SELECT在Oracle中的SQL中使用两个表的列中求和

Oracle SQL - 如何使用两个表进行数据透视并比较记录

SQL CASE /评估两个可能值时

如何在oracle中合并/组合两个表

打印两个表中的所有字段,并使用 ORACLE CASE 语句基于列将一些列值设置为空

Oracle Sql 连接两个表

合并两个查询Oracle SQL

SQL Oracle/加入两个查询

Oracle SQL 合并两个查询

合并语句在尝试合并两个表时在oracle上给出错误

Oracle SQL:LISTAGG 与 XMLAGG - 使用 CASE WHEN 时的不同结果

子查询即使使用IN语句也返回多于1行-Oracle SQL

如果count> n,则Oracle SQL View列的值为1