每个用户首次销售日期后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;

 

查询结果:

 

posted @ 2022-02-21 10:40  shan_zhayidian  阅读(611)  评论(0编辑  收藏  举报