2025-01 美团 困难

任务: 请编写SQL查询,根据以下规则对用户进行分类,并统计每一类用户的数量:

  • Recency (R):使用NTILE(3)函数将用户按距离今天的天数分为三类。注意这里按照天数降序排列,因为Recency得分越低表示用户越近进行了购买。
  • Frequency (F):使用NTILE(3)函数将用户按有下单记录的不同天数分为三类。
  • Monetary (M):使用NTILE(3)函数将用户按每次交易的平均消费金额降序排列后分成三类。
  • 将每位用户的Recency、Frequency和Monetary评分拼接成一个字符串,格式为“R{recency_score}F{frequency_score}M{monetary_score}”。
  • 统计每一类用户(即每一个不同的RFM字符串标识符)的数量。

输出:

  • 每一类用户的标识符(例如,“R1F1M3”)及其对应的用户数量。

RFM模型 聚合函数 窗口函数 group by inner join avg case when distinct count datediff + concat current_date group_concat ntile

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真题

ID317 基于消费天数和平均消费金额NTILE分组计算每个用户的RFM评分  
中等 group by inner join avg case when distinct count datediff current_date ntile 聚合函数 RFM模型 美团
ID320 总分为9分的所有用户  
中等 group by inner join avg case when distinct count datediff + current_date ntile 聚合函数 RFM模型 美团
ID321 9分客户最爱去的Top3餐厅  
中等 group by inner join avg case when row_number distinct count datediff + current_date group_concat <= ntile 聚合函数 RFM模型 美团
ID322 4分及以下客户去的最后一家餐厅  
困难 group by inner join avg case when row_number distinct count datediff + current_date group_concat <= = ntile 聚合函数 窗口函数 RFM模型 美团
ID324 找出流失风险客户(R=1且F<=2)  
中等 group by inner join avg case when distinct count datediff + concat current_date group_concat <= = ntile 聚合函数 窗口函数 RFM模型 美团

MySQL 8.0

00:00