0

私は次のようにテーブルsal_infoを持っています

ID  NAME    SAL DEPTNO
100 SARMA   5000    10
101 SARATHI 5000    10
102 RAJESH  4000    10
103 PRAVEEN 4000    20
104 GOPI    4000    20
105 SHANKAR 3000    20
106 SHIVA   2000    30
107 SWAMI   1000    30
108 MOHAMED 500     30

各部門で最大の給与を持つ行を抽出する必要があります

私の出力は

ID  NAME    SAL DEPTNO
100 SARMA   5000    10
101 SARATHI 5000    10
103 PRAVEEN 4000    20
104 GOPI    4000    20
106 SHIVA   2000    30

どうすればこれを達成できますか

ここまでやってみました。

select * from dummy_tab where sal in (select max(sal) from dummy_tab)

表の最大給与に基づいて提供しています。すべての部門番号に含める必要があります。

何か案は.......

4

3 に答える 3

1
SELECT *
FROM 
   SAL_INFO
WHERE
    (DEPTNO, SAL)
    IN
    (
        SELECT 
            DEPTNO, MAX(SAL) 
        FROM SAL_INFO
        GROUP BY DEPTNO
    )

ここにSQLFiddlerがあります

于 2013-07-16T14:44:01.757 に答える