Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да намерите трета или nᵗʰ максимална заплата от таблицата със заплати?

Номер на ред:

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)

Подзаявка :

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

Топ ключова дума :

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. 11 начина за връщане на чужди ключове в база данни на SQL Server с помощта на T-SQL

  2. Различни начини за използване на функцията SQL CONVERT date

  3. Създайте задание за агент на SQL Server с помощта на T-SQL

  4. Справяне с грешки с висока сериозност в SQL Server

  5. Драйверът не можа да установи защитена връзка със SQL Server чрез използване на криптиране на Secure Sockets Layer (SSL)