如何统计每月完成交易的唯一用户总数
统计每月完成交易的唯一用户总数SQL实现
要实现每月唯一交易用户数统计,核心是按交易月份分组,对user_id去重计数,以下是具体实现方案:
基础版本(仅统计月份)
直接基于你之前的月份提取逻辑,添加用户去重计数:
SELECT DATE_PART('month', order_time) AS bulan_transaksi, COUNT(DISTINCT user_id) AS unique_user_count FROM order_table GROUP BY bulan_transaksi ORDER BY bulan_transaksi;
代码说明
DATE_PART('month', order_time):提取交易时间的月份,和你原有逻辑保持一致COUNT(DISTINCT user_id):统计当月有交易行为的唯一用户数,自动排除同一用户的多次交易记录GROUP BY bulan_transaksi:按月份分组聚合数据ORDER BY bulan_transaksi:让结果按月份顺序排列,便于查看
扩展版本(含年份,避免跨年混淆)
如果你的交易数据跨年度,仅统计月份会导致不同年份的同月数据被合并,建议用DATE_TRUNC保留年份信息:
SELECT DATE_TRUNC('month', order_time) AS bulan_transaksi, -- 输出格式如'2024-01-01',包含年份和月份 COUNT(DISTINCT user_id) AS unique_user_count FROM order_table GROUP BY bulan_transaksi ORDER BY bulan_transaksi;
内容的提问来源于stack exchange,提问作者Bin Ski.
相关产品推荐
相关产品推荐

