SQL面试提问 :如何计算每个月的订单数量和总金额以及与上个月相比的环比增长率

🔥 面试现场还原

“计算每月订单量、总金额及环比增长率”——这道出现率高达87%的SQL考题,竟让3年经验的候选人翻车!上周面试中:

  • 候选人A:嵌套5层子查询,执行计划爆炸💥

  • 候选人B:忘记处理除零错误,结果出现Infinity😱

  • 候选人C:用Python思路写SQL,性能血崩⏳

方法一:使用窗口函数 (推荐)
-- 步骤1: 计算基础月度数据
WITH monthly_data AS (
  SELECT
    DATE_FORMAT(order_date, 'yyyy-MM') AS order_month,
    COUNT(order_id) AS order_count,
    ROUND(SUM(amount), 2) AS total_amount
  FROM orders
  GROUP BY DATE_FORMAT(order_date, 'yyyy-MM')
)

-- 步骤2: 计算环比增长率
SELECT
  order_month,
  order_count,
  total_amount,
  -- 订单数量环比
  ROUND(
    (order_co
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值