sql >> データベース >  >> RDS >> Sqlserver

給与表から3番目または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. SQLServerで複数の行を1つのコンマ区切り値に

    2. SSISのスクリプトタスクから実行すると、Oracleプロシージャが結果を返さない

    3. データベースで循環参照を使用できますか?

    4. PHPを使用して1つのステートメントで複数のSQLクエリを実行する