2016-07-21 7 views
0

1つのクエリを使用して、SQLで従業員テーブルの最高給与と2番目に高い給与を表示するにはどうすればよいですか?1つのクエリを使用して2番目に高い給与を表示する方法

+0

あなたはそれを達成するために何かをしようとしましたか?はいの場合は、私たちに見せてください。 –

+0

Stack Overflowは無料のコード作成サービスではありません。あなたのコード/努力と実際の問題点を示してください。 – FrankerZ

答えて

0

あなたの短い質問への短い答えは:

SELECT salary 
FROM employees 
ORDER BY salary DESC 
FETCH FIRST 2 ROWS ONLY 
+0

私はこれがオラクル12cでのみ動作すると思う – vercelli

+0

@ Vercelliは正しいです。彼の答えはANSI標準であり、古いOraclesではなく、SQL Serverのようなライバルでも動作します。 – Unoembre

+1

これはまたANSI標準のSQL @ johnであり、より新しいバージョンの[PostgreSQL](https://www.postgresql.org/docs/current/static/sql-select.html)、[DB2] https://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/sqlref/src/tpc/db2z_sql_fetchfirstclause.html)および[SQL Server](https://msdn.microsoft.com/en-us/library/)を参照してください。 ms188385.aspx)、Oracleなどが含まれます。 – Ben

0
select empid, salary, rn 
from (
    select empid, salary , rank() over(order by salary desc) as rn 
    from emp) t 
where rn<=2; 
関連する問題