【阿里巴巴】统计商品上半年月度销量趋势
JOIN 连接聚合函数GROUP BYORDER BY营收统计面试真题
题目描述
来源:阿里巴巴 SQL 面试真题
电商平台希望了解不同商品在 2024 年上半年各月份的销售趋势,以便进行库存管理和营销决策。
数据表
products_underline 商品表
| 字段 | 类型 | 说明 |
|---|---|---|
| product_id | INT | 商品 ID,主键 |
| product_name | VARCHAR(50) | 商品名称 |
| price | DECIMAL(10,2) | 商品单价 |
sales_underline 销售表
| 字段 | 类型 | 说明 |
|---|---|---|
| sale_id | INT | 销售 ID,主键 |
| product_id | INT | 商品 ID |
| sale_month | VARCHAR(7) | 销售月份,格式为 YYYY-MM |
| quantity | INT | 销售数量 |
统计口径
- 统计范围为 2024-01 至 2024-06,共 6 个月。
- 没有销售记录的月份按 0 销量计入,因此最低月销量和平均月销量都基于完整的 6 个月计算。
- 同一商品同一月份存在多条销售记录时,先将数量相加。
- 月平均销量四舍五入保留整数。
- 结果按商品 ID 升序排列。
期望输出列
| 列名 | 说明 |
|---|---|
| product_name | 商品名称 |
| total_sales | 2024 年上半年总销量 |
| max_monthly_sales | 上半年销量最高月份的销量 |
| min_monthly_sales | 上半年销量最低月份的销量 |
| avg_monthly_sales | 上半年月平均销量,四舍五入保留整数 |
数据样例
| product_idPKINT | product_nameVARCHAR(50) | priceDECIMAL(10,2) |
|---|---|---|
| 1 | 商品A | 10 |
| 2 | 商品B | 20 |
| 3 | 商品C | 15 |
| 4 | 商品D | 30 |
输入数据显示 4 / 4 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里