SQL 刷题/【字节跳动】生成目标月份的品类销售简报
上一题下一题困难通过率 0%

【字节跳动】生成目标月份的品类销售简报

JOIN 连接聚合函数窗口函数日期函数用户行为分析面试真题

题目描述

来源:字节跳动 SQL 面试真题

电商平台希望生成 2024 年 8 月的品类销售简报,统计各品类的订单数、去重买家数、售出件数、销售额和客单价,并按销售额生成品类排名。

数据表

product 商品表

字段类型说明
product_idINT商品编号,主键
categoryVARCHAR(32)商品所属品类
priceDECIMAL(10,2)商品单价,非负

orders 订单表

字段类型说明
order_idBIGINT订单编号,主键
buyer_idINT买家编号
order_dateDATE下单日期

order_items 订单明细表

字段类型说明
order_idBIGINT订单编号
product_idINT商品编号
qtyINT购买数量,非负

题目要求

统计 2024-08-01 至 2024-08-31 期间每个品类的销售情况。每个品类输出一行,目标月没有订单的品类也要输出,并将数量和金额指标填为 0。

输出字段:

  • category:品类名称。
  • orders_cnt:该品类涉及的去重订单数。
  • buyers_cnt:涉及该品类的去重买家数。
  • items_qty:售出件数之和。
  • revenue:销售额,即 SUM(qty * price)
  • avg_order_value:客单价,即销售额除以品类订单数,四舍五入保留 2 位小数;订单数为 0 时输出 0.00。
  • rank_by_revenue:按销售额降序、订单数降序、品类名升序计算的 RANK

结果按 revenue 降序、orders_cnt 降序、category 升序排列。

数据样例

当前运行环境
product_idPKINTcategoryVARCHAR(32)priceDECIMAL(10, 2)
1Electronics100
2Electronics500
3Home20
4Home50
5Pets30
输入数据显示 5 / 5
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里