【滴滴】每个用户的第一条和最后一条消费记录
JOIN 连接聚合函数子查询面试真题
题目描述
来源:滴滴数据开发一面
给定一张 orders 表:
id: 订单IDuser_id: 用户IDamount: 消费金额order_date: 订单日期
请编写 SQL 查询,找出每个用户的第一条消费记录和最后一条消费记录的订单日期和金额。按 user_id 升序排列。
期望输出列
| 列名 | 说明 |
|---|---|
| user_id | 用户ID |
| first_date | 第一笔订单日期 |
| first_amount | 第一笔订单金额 |
| last_date | 最后一笔订单日期 |
| last_amount | 最后一笔订单金额 |
数据样例
| idPKINTEGER | user_idINTEGER | amountREAL | order_dateTEXT |
|---|---|---|---|
| 1 | 1 | 100 | 2024-01-01 |
| 2 | 1 | 200 | 2024-01-15 |
| 3 | 1 | 150 | 2024-02-01 |
| 4 | 2 | 300 | 2024-01-05 |
| 5 | 2 | 250 | 2024-03-10 |
| 6 | 3 | 180 | 2024-01-20 |
| 7 | 3 | 220 | 2024-02-14 |
| 8 | 3 | 160 | 2024-03-01 |
输入数据显示 8 / 9 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里