我只是一個初學者.. 我知道SQL
查詢查找第三最高薪水或第n個最高工資。但我需要一個有效的查詢。什麼是查找第N個最高工資的高效查詢
這些是我知道..能否請您提出任何其他查詢,而不是這些查詢..
該查詢效率不高,按我的學科教師
SELECT *
FROM Employee Emp1
WHERE (N-1) = (
SELECT COUNT(DISTINCT(Emp2.Salary))
FROM Employee Emp2
WHERE Emp2.Salary > Emp1.Salary
);
而這顯然查詢效率不高
SELECT MAX(Salary)
FROM Employee
WHERE Salary NOT IN (SELECT MAX(Salary) FROM Employee);
任何提示?
這是MySQL或Oracle數據庫嗎? – Mureinik
假設有'1 1 1 1 1 2 3'條目。哪一個會是第三名? – zerkms
你爲什麼標記MySQL和Oracle? 'DENSE_RANK'或'ROW_NUMBER'可能是最有效的方式,但MySQL不支持這一點。 –