每个用户首次销售日期后30天内累计销售金额,SQL练习
问题描述:
销售记录表t3包含以下字段:
用户id:user_id
销售日期:sell_day
销售金额:amount
要求计算每个用户首次销售日期后30天内累计销售金额,输出结果格式如下:
用户id
首次销售日期
30天内累计销售金额
创建表:
查询:
SELECT a.user_id 用户id, MIN(a.sell_day) 首单日期, sum( a.amount ) 30日累计 FROM ( SELECT user_id, sell_day, amount, ROW_NUMBER() over ( PARTITION BY user_id ORDER BY sell_day ASC ) sell_nun FROM Sell_user GROUP BY user_id, sell_day ) a WHERE a.sell_nun BETWEEN 1 AND 30 GROUP BY a.user_id;
查询结果: