paystub
給与記録が記録され ているテーブルがあります。
このクエリに関連するフィールドはYearToDateGrossPay
とyear
です。
すべての給与明細レコードを検索し、上位 5 年間の給与を選択する必要があります。
毎年の最後の給与明細から、その年の YTD の最終的な金額がわかるので、そのサブクエリの上位 5 つを選択できますが、その方法がよくわかりません。
どんな助けでも大歓迎です。
ありがとう
paystub
給与記録が記録され ているテーブルがあります。
このクエリに関連するフィールドはYearToDateGrossPay
とyear
です。
すべての給与明細レコードを検索し、上位 5 年間の給与を選択する必要があります。
毎年の最後の給与明細から、その年の YTD の最終的な金額がわかるので、そのサブクエリの上位 5 つを選択できますが、その方法がよくわかりません。
どんな助けでも大歓迎です。
ありがとう
最終的なYTD量を選択するサブクエリがすでにある場合は、次の方法で終了できます。
SELECT * FROM final_ytd_amounts ORDER BY ytd_amount DESC LIMIT 5
ORDER BY ytd_amount DESCは、テーブルをytd_amountで降順で並べ替えます
LIMIT 5は、上位5行のみを選択し、他のすべてを切り落とします
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
標準 SQL:
SELECT *
FROM final_ytd_amounts
WHERE ROWNUM <= 5
ORDER BY ytd_amount DESC