Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak znaleźć trzecią lub nᵗʰ maksymalną pensję z tabeli wynagrodzeń?

Numer wiersza :

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)

Zapytanie podrzędne :

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

Najważniejsze słowo kluczowe :

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak poprawnie wstawić znak nowej linii w nvarchar

  2. Czy istnieje sposób na pobranie definicji widoku z SQL Server przy użyciu zwykłego ADO?

  3. Tabela z wieloma wyrażeniami Wartości funkcji w porównaniu z tabelą inline Wartości funkcji

  4. UNIX_TIMESTAMP w SQL Server

  5. Jak sprawdzić wyniki zadania pakietu SSIS po jego zakończeniu?