【发布时间】:2020-04-27 14:55:14
【问题描述】:
我有一个名为 order 的表,如下所示:
我正在尝试显示:
1.仅购买1次的顾客总数(一次去商店,可能是他们购买了多件商品,但这只是一次事件)
2. 购买超过 1 次(多次光顾商店)的顾客总数
我一直在执行以下查询,但结果与我从数据透视表中看到的不完全匹配。在每个购物会话中可以有多行和多个项目,但每个购物会话仍然会有一个唯一的标识符和一个唯一的日期。
选择 COUNT(distinct customer_id)
来自 订单作为 c
WHERE (SELECT COUNT(distinct transaction_id))
FROM orders as b
WHERE
b.customer_id = c.customer_id) =1
我将最后一行替换为 >1 来表示购物不止一次的客户
感谢您提前提供任何帮助
【问题讨论】:
-
请用您正在使用的数据库标记您的问题。
-
@GMB sql 服务器。如何考虑此表达式中的退货单?有时我有客户一单一退货,我不想把他们算作两次购买。
标签: sql pivot subquery aggregate-functions distinct