【阿里巴巴】统计网店总销售额与客单价
WHERE 条件JOIN 连接聚合函数CASE WHEN日期函数DISTINCT营收统计面试真题
题目描述
来源:阿里巴巴 SQL 面试真题
2021 年结束后,淘宝店长需要分析网店在 2021 年 12 月下旬的用户交易和商品销售情况,计算实际总销售额与客单价。
数据表
sales_tb 销售数据表
| 字段 | 类型 | 说明 |
|---|---|---|
| goods_id | BIGINT | 商品货号 |
| sales_date | DATE | 销售日期 |
| user_id | BIGINT | 购买用户编号 |
| sales_num | INT | 本次购买数量 |
goods_tb 商品表
| 字段 | 类型 | 说明 |
|---|---|---|
| goods_id | BIGINT | 商品货号,主键 |
| goods_name | VARCHAR | 商品名称 |
| goods_price | DECIMAL | 商品单价 |
统计口径
- 12 月下旬指 2021-12-21 至 2021-12-31,包含首尾两日。
- 实际总销售额 =
SUM(sales_num * goods_price)。 - 总用户数为统计期间产生购买行为的去重用户数。
- 客单价 = 实际总销售额 / 总用户数。
- 两项指标均四舍五入保留 3 位小数。
- 统计期间没有销售记录时,两项指标均输出 0。
期望输出列
| 列名 | 说明 |
|---|---|
| total_sales | 实际总销售额 |
| avg_customer_spend | 客单价,即每位购买用户的平均付费金额 |
数据样例
| goods_idBIGINT | sales_dateDATE | user_idBIGINT | sales_numINT |
|---|---|---|---|
| 101 | 2021-12-20 | 1 | 1 |
| 101 | 2021-12-21 | 1 | 2 |
| 102 | 2021-12-22 | 2 | 1 |
| 103 | 2021-12-25 | 1 | 1 |
| 104 | 2021-12-31 | 3 | 5 |
| 102 | 2022-01-01 | 4 | 1 |
输入数据显示 6 / 6 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里