题解 | 下单复盘

下单复盘

https://www.nowcoder.com/practice/85cece6c8e11434783e9e18da2bddd45

-- 计算二月份每一个订单的总金额
with temp as (
    select
        o.customer_id,
        o.order_id,
        o.order_date,
        sum(oi.qty * oi.price) as order_amount
        from orders o
        left join order_items oi
        on oi.order_id = o.order_id
        where o.order_date like '%2024-02%'
        GROUP BY 
        o.customer_id,
        o.order_id,
        o.order_date
)
    select
        c.customer_id,
        c.customer_name,
        count(distinct tp.order_id) as feb_2024_order_count,
        coalesce(round(sum(tp.order_amount),2),0.00) as feb_2024_total_amount,
IF(
        COUNT(DISTINCT tp.order_id) = 0, 
        0.00, 
        ROUND(SUM(tp.order_amount) / COUNT(DISTINCT tp.order_id), 2)
    ) AS feb_2024_avg_order_amount,
        min(tp.order_date) as feb_2024_first_order_date,
        max(tp.order_date) as feb_2024_last_order_date
        from 
        customers c 
        left join temp tp 
        on tp.customer_id = c.customer_id
        group by customer_id,customer_name
        order by feb_2024_total_amount DESC, 
    c.customer_id ASC;




全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务