1

次の属性を含む EMPLOYEE という名前のテーブルがあるとします。

(EMPLOYEE_ID、LAST_NAME、FIRST_NAME、MIDDLE_NAME、JOB_ID、MANAGER_ID、給与)

N 番目に給与が高い図面の従業員の詳細を表示できますか 助けてください

4

3 に答える 3

4

ORDER BYそしてLIMITどこに10あるn + 1

SELECT
    *
FROM
    employees
ORDER BY
    Salary DESC
LIMIT
    10, 1

(最初のレコードが必要な場合は、 を使用しLIMIT 0, 1ます。10 番目のレコードについては、LIMIT 9, 1などを使用します)

于 2013-11-11T10:55:58.893 に答える
2

try this

put n > 1 to get corresponding results

n=3 はあなたに 2 番目を与えなければなりませんhighest salary

 SELECT *   --This is the outer query part 
    FROM Employee Emp1
    WHERE (N-1) = ( /* Subquery starts here */
    SELECT COUNT(DISTINCT(Emp2.Salary))
    FROM Employee Emp2
    WHERE Emp2.Salary > Emp1.Salary)
于 2013-11-11T10:55:44.673 に答える
1

テストテーブル

CREATE TABLE Test 
(ID INT IDENTITY(1,1),
Salary INT)

INSERT INTO Test
VALUES (100), (200), (300), (400), (500)

SELECT * FROM Test

クエリ

SELECT TOP 1 Salary
FROM 
    (SELECT TOP 3 Salary FROM Test ORDER BY Salary DESC)q
ORDER BY Salary ASC

サブクエリ SELECT TOP Nth では、残りは同じままで、目的の結果が得られます

于 2013-11-11T11:01:40.917 に答える