【发布时间】:2015-12-18 23:43:56
【问题描述】:
我在数据库中有一张表,记录如下:
Id | EmpName | LeaveDate | createdDate
1 | Govind | 2014-04-02 00:00:00.000 | 2014-04-02
2 | Aravind | 2014-04-03 00:00:00.000 | 2014-04-05
3 | Govind | 2014-04-04 00:00:00.000 | 2014-04-10
4 | Amar | 2014-04-05 00:00:00.000 | 2014-04-11
6 | Aravind | 2014-04-06 00:00:00.000 | 2014-04-16
7 | Govind | 2014-04-07 00:00:00.000 | 2014-04-16
8 | Aravind | 2014-04-08 00:00:00.000 | 2014-04-16
9 | Amar | 2014-04-09 00:00:00.000 | 2014-04-16
10 | Aravind | 2014-04-10 00:00:00.000 | 2014-04-16
11 | Govind | 2014-04-11 00:00:00.000 | 2014-04-16
12 | Aravind | 2014-04-12 00:00:00.000 | 2014-04-16
13 | Amar | 2014-04-13 00:00:00.000 | 2014-04-16
14 | Aravind | 2014-04-14 00:00:00.000 | 2014-04-16
现在,我想显示所有员工的最后两条记录
示例输出:
Id | EmpName | LeaveDate | createdDate
11 | Govind | 2014-04-11 00:00:00.000 | 2014-04-16
7 | Govind | 2014-04-07 00:00:00.000 | 2014-04-16
14 | Aravind | 2014-04-14 00:00:00.000 | 2014-04-16
12 | Aravind | 2014-04-12 00:00:00.000 | 2014-04-16
13 | Amar | 2014-04-13 00:00:00.000 | 2014-04-16
9 | Amar | 2014-04-09 00:00:00.000 | 2014-04-16
我正在使用 JPA,很难为以下要求编写查询。谁来帮帮我
【问题讨论】:
-
ROW_NUMBER() OVER (PARTITION BY EmpName ORDER BY LeaveDate DESC),取结果 -
您使用的是哪个 DBMS?后格雷斯?甲骨文?
-
只是快速观察,请不要使用 EmpName.... 这让我哭了.... 使用 EmpID 之类的东西......
-
我正在使用 mysql、sqlserver、oracle,我已经实现了这 3 个 DBMS
-
决定您希望这个问题与哪个 RDBMS 相关
标签: mysql sql sql-server oracle top-n