【拼多多】统计品类销售额与客户性别分布
WHERE 条件JOIN 连接聚合函数GROUP BYCASE WHENORDER BYDISTINCT营收统计面试真题
题目描述
来源:拼多多 SQL 面试真题
电商平台需要统计不同商品类别的销售情况以及购买客户的性别分布。
数据表
order_details 订单详情表
| 字段 | 类型 | 说明 |
|---|---|---|
| order_id | BIGINT | 订单 ID |
| category_id | INT | 商品类别 ID |
| order_amount | DECIMAL(10,2) | 订单金额 |
| order_date | DATE | 订单生成日期 |
customer_info 客户信息表
| 字段 | 类型 | 说明 |
|---|---|---|
| customer_id | BIGINT | 客户 ID |
| order_id | BIGINT | 关联订单 ID |
| customer_gender | VARCHAR(10) | 客户性别:男、女 |
统计口径
- 统计订单日期在 2024-01-01 至 2024-06-30 的订单,使用 [2024-01-01, 2024-07-01) 的左闭右开条件。
- total_sales 为该类别订单金额之和。
- male_customers 和 female_customers 按客户 ID 去重,同一客户在同一类别下购买多次只计 1 人。
- 只输出统计期间实际发生订单的类别,结果按 category_id 升序排列。
期望输出列
| 列名 | 说明 |
|---|---|
| category_id | 类别 ID |
| total_sales | 统计期间总销售额 |
| male_customers | 去重男性客户数 |
| female_customers | 去重女性客户数 |
数据样例
| order_idPKBIGINT | category_idINT | order_amountDECIMAL(10,2) | order_dateDATE |
|---|---|---|---|
| 101 | 1 | 100 | 2024-01-01 |
| 102 | 1 | 200 | 2024-02-15 |
| 103 | 1 | 150 | 2024-03-20 |
| 104 | 2 | 300 | 2024-04-01 |
| 105 | 2 | 250 | 2024-05-10 |
| 106 | 2 | 100 | 2024-06-30 |
| 107 | 3 | 500 | 2024-06-30 |
| 108 | 3 | 999 | 2024-07-01 |
输入数据显示 8 / 8 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里