0

我有一张paystub记录工资单记录的表。

与此查询相关的字段是YearToDateGrossPayyear

我需要搜索所有的 paystub 记录并选择前 5 个最高薪年

每年的最后一个工资单会告诉我该年的最终 YTD 金额,然后我可以选择该子查询的前 5 个,但我不太确定该怎么做。

任何帮助,将不胜感激。

谢谢

4

3 回答 3

2

如果您已经有选择最终 YTD 金额的子查询,您可以通过

SELECT * FROM final_ytd_amounts ORDER BY ytd_amount DESC LIMIT 5

ORDER BY ytd_amount DESC 按 ytd_amount 降序对表进行排序

LIMIT 5 只选择前 5 行,并切掉其他所有内容

于 2012-05-13T23:31:02.467 回答
0

如果您使用的是 SQL Server,则上述方法将不起作用。通常,您应该在询问查询时指定特定的数据库。在 SQL Server 中,您可以执行以下操作:

SELECT top 5 *
FROM final_ytd_amounts
ORDER BY ytd_amount DESC 

为了完整起见,以下是您在 Oracle 中执行此操作的方式:

SELECT *
FROM final_ytd_amounts
where rownum <= 5
ORDER BY ytd_amount DESC 
于 2012-05-14T01:32:49.177 回答
0

标准 SQL:

SELECT * 
FROM final_ytd_amounts 
WHERE ROWNUM <= 5 
ORDER BY ytd_amount DESC
于 2012-05-15T13:54:31.173 回答