SELECT MONTH([date])
,COUNT(customer_id) -- customers per month
,COUNT(DISTINCT customer_id) -- unique customers per month
FROM [transaction]
WHERE YEAR([date]) = 2022
GROUP BY MONTH([date])
以上将为您提供每月的客户总数。如果您需要深入查找每个客户每月的交易:
SELECT customer_id
,MONTH([date])
,COUNT(transaction_id)
FROM [transaction]
WHERE YEAR([date]) = 2022
GROUP BY customer_id
WITH transactions_2022 AS (
SELECT customer_id,
DATE_TRUNC('month', transaction_date) AS month,
COUNT(transaction_id) as frequency
FROM transactions
WHERE DATE_TRUNC('year', transaction_date) = '2022'
GROUP BY 1,2
)
SELECT month,
COUNT(DISTINCT customer_id) as customer_count,
SUM(frequency) as transaction_count
FROM transactions_2022
GROUP BY 1
2条答案
按热度按时间zbwhf8kr1#
你在找这样的东西吗:
以上将为您提供每月的客户总数。如果您需要深入查找每个客户每月的交易:
qjp7pelc2#
要查找2022年客户每月频率的分布,您可以使用以下步骤:
1.使用DATE_TRUNC或DATE_EXTRACT函数从transaction_date列提取年和月。
1.使用WHERE子句筛选表以仅包括在2022年发生的事务。
1.按customer_id和提取的月份对其余事务进行分组。
1.使用COUNT()函数计算每个客户每月的事务数。
1.使用GROUP BY子句按提取的月份对结果进行分组。
1.再次使用COUNT()函数计算每月有交易的客户数。
样本代码: