【发布时间】:2021-02-08 20:33:24
【问题描述】:
我有一张表格来列出用户进行的交易。
mysql> select * from transaction;
+-----------+----------+------------+
| emp_id_fk | trans_id | trans_date |
+-----------+----------+------------+
| 1 | 1 | 2008-01-01 |
| 1 | 2 | 2019-01-01 |
| 1 | 3 | 2020-01-01 |
| 2 | 4 | 2020-01-10 |
| 2 | 5 | 2020-01-16 |
| 2 | 6 | 2020-01-15 |
+-----------+----------+------------+
6 rows in set (0.00 sec)
我想知道用户最近进行的 2 笔交易及其交易 ID。 输出应如下所示。
+-----------+----------+------------+
| emp_id_fk | trans_id | trans_date |
+-----------+----------+------------+
| 1 | 2 | 2019-01-01 |
| 1 | 3 | 2020-01-01 |
| 2 | 5 | 2020-01-16 |
| 2 | 6 | 2020-01-15 |
+-----------+----------+------------+
我尝试过内部连接和 group by 子句,但没有用。如何生成此输出?
【问题讨论】:
-
如果你在 mysql 8 或更高版本上,如果不是stackoverflow.com/questions/32716152/…则使用窗口函数@
标签: mysql sql datetime subquery greatest-n-per-group