请编写SQL查询,根据以下规则找到所有RFM总评分为9分的用户:
- Recency (R):使用
NTILE(3)
函数将用户按距离今天的天数分为三类。注意这里按照天数降序排列,因为Recency得分越低表示用户越近进行了购买。 - Frequency (F):使用
NTILE(3)
函数将用户按有下单记录的不同天数分为三类。 - Monetary (M):使用
NTILE(3)
函数将用户按每次交易的平均消费金额降序排列后分成三类。 - 计算每位用户的RFM总分,并筛选出那些总分恰好为9分的用户。
输出所有RFM总评分为9分的用户ID (user_id
) 及其对应的 recency_score
, frequency_score
, 和 monetary_score
。
mt_trx_rcd_f,餐饮商户团购消费记录表
cust_uid | trx_amt | mch_nm | mch_typ2 | trx_dt |
---|---|---|---|---|
MT10008 | 132 | 阿里山烘焙坊(亚贸店) | 面包甜点 | 2024-05-03 |
MT10000 | 53 | 星巴克(融创茂店) | 咖啡厅 | 2024-09-16 |
MT10007 | 334 | 老胶东小船海鲜 | 海鲜 | 2024-05-22 |
MT10004 | 358 | 一枚帅哥做的菜 | 海鲜 | 2024-09-15 |
MT10003 | 154 | 一枚帅哥做的菜 | 海鲜 | 2024-11-16 |
 成为会员,解锁300道大厂数分SQL真题
MySQL 8.0