sql >> Databáze >  >> RDS >> Sqlserver

Jak zjistit třetí nebo nᵗʰ maximální plat z platové tabulky?

Číslo řádku:

SELECT Salary,EmpName
FROM
  (
   SELECT Salary,EmpName,ROW_NUMBER() OVER(ORDER BY Salary) As RowNum
   FROM EMPLOYEE
   ) As A
WHERE A.RowNum IN (2,3)

Dílčí dotaz :

SELECT *
FROM Employee Emp1
WHERE (N-1) = (
               SELECT COUNT(DISTINCT(Emp2.Salary))
               FROM Employee Emp2
               WHERE Emp2.Salary > Emp1.Salary
               )

Hlavní klíčové slovo :

SELECT TOP 1 salary
FROM (
      SELECT DISTINCT TOP n salary
      FROM employee
      ORDER BY salary DESC
      ) a
ORDER BY salary


  1. Mám odstranit nebo zakázat řádek v relační databázi?

  2. DateTime2 vs DateTime na SQL Server

  3. Jak přesunout model mezi dvěma aplikacemi Django (Django 1.7)

  4. Jak vrátit sadu výsledků z uložené procedury v Oracle?