2016-04-29 5 views
0

私は(あなたの目的は、カップルのDEPARTMENT_ID/JOB_IDの平均給与を取得している場合)あなたがこれをしたいと仮定し、私はこれを試してみましたが、明らかにそれが唯一のMTに全部門の平均給与ではない各職種department_id、job_id、および各部門の各職務分類の平均給与の表示方法を教えてください。

SELECT e.department_id, e.job_id, (SELECT avg(salary) 
            FROM employees) 
FROM employees e 
GROUP BY department_id, job_id; 
+3

あなたはあなたのテーブルの構造と出力をどうしたらいいですか? –

+0

集計関数がサブクエリ内にある場合にgroup byを使用するのはなぜですか? –

+0

@BrijalSavaliya出力はありませんが、テーブルは部門、従業員の仕事です 私はORACLE SQLでHRスキーマを使用しています –

答えて

1

を与えます:

SELECT e.department_id, e.job_id, avg(e.salary) 
FROM employees e 
GROUP BY e.department_id, e.job_id; 

あなただけDEPARTMENT_IDのためにあなたが書くことができ、平均したい場合:

SELECT e.department_id, e.job_id, 
    (SELECT avg(e1.salary) 
    FROM employees e1 
    where e1.department_id = e.department_id) 
FROM employees e 
GROUP BY e.department_id, e.job_id; 
2

あなたは部門の平均をしたいですか 給料?相関サブクエリを実行してください:

SELECT e.department_id, e.job_id, (SELECT avg(salary) 
            FROM employees e2 
            where e2.department_id = e.department_id) 
FROM employees e 
関連する問題