【发布时间】:2020-11-24 18:30:05
【问题描述】:
我有一个 Oracle SQL 查询,它使用 FETCH FIRST 在 PeopleSoft 数据库中查找年薪最高的员工。
SELECT A.EMPLID, A.ANNUAL_RT
FROM PS_EMPLOYEES A
ORDER BY A.ANNUAL_RT DESC
FETCH FIRST ROW WITH TIES;
EMPLID ANNUAL_RT
20218 100000
10300 100000
26992 100000
17864 100000
我想按 EMPLID 对结果进行排序。但是,由于我使用的是FETCH FIRST 1 ROW WITH TIES,因此将EMPLID 添加到我的ORDER BY 子句会将我的结果限制为ID 号最低的1 位员工。
SELECT A.EMPLID, A.ANNUAL_RT
FROM PS_EMPLOYEES A
ORDER BY A.ANNUAL_RT DESC, A.EMPLID ASC
FETCH FIRST 1 ROW WITH TIES;
EMPLID ANNUAL_RT
10300 100000
我怎样才能对我的结果进行排序而不影响FETCH FIRST返回的行?
EMPLID ANNUAL_RT
10300 100000
17864 100000
20218 100000
26992 100000
【问题讨论】:
标签: sql oracle oracle12c sql-fetch