我試圖從列表中找到每個部門的第n個最大工資。我能夠使用聚合來完成基本的最小值和最大值,例如如何找到不同部門的第n個最高工資?
Select DEPARTMENT, MAX(SALARY) FROM dept_salary
GROUP BY 1
使用MySQL,我能夠根據個人而不是相結合,得到第n個月薪:
SELECT DISTINCT DEPARTMENT, SALARY FROM dept_salary
ORDER BY 2 DESC
LIMIT n,1
DEPARTMENT SALARY
-------------------------
Customer Service 143937
Human Resources 141953
Customer Service 138637
Customer Service 137535
Customer Service 136548
Customer Service 135650
Marketing 135497
Customer Service 134893
Customer Service 133837
Customer Service 133569
如何得到這個工作的任何指針是善意的讚賞。
這看起來很像功課。你確定我們應該爲你做嗎? – Strawberry
@codeBarer此外,如果這是一個家庭作業/考試/面試問題,你最好建議提及它,因爲,雖然戈登的回答是正確和快速,可能是解決任何真實世界問題的最佳解決方案,但通常不會得分最高點,因爲它不使用標準的SQL(集),這往往是測試的邊界條件。 – Solarflare
@Solarflare謝謝,我正在準備面試,所以我自己提出了上述問題。 – codeBarer