2017-02-01 7 views
0

各部門の部門ID、平均給与(通貨形式)、およびジョブIDの数を表示します。 5つ以上のジョブIDを持つ部門のみに結果を限定する。avg、to_char、およびhavingを使用する

私がこれまでに試したことは何ですか。

選択DEPARTMENT_ID、to_char関数(AVG(給与、 '$ 999,999.00'))、DEPARTMENT_IDによって従業員 グループから(JOB_ID) をカウントし、給与は、SUM(JOB_ID)> '5' を有する をJOB_ID。

"無効な引数の数"が意味することを理解できません。

enter image description here

答えて

0

のみdepartment_idは何か、あなたが部署を超える集計したいので、GROUP BY句に登場する、とされてはいけません。

SELECT department_id, 
     CONCAT('$', FORMAT(AVG(salary), 2)) AS avg_salary, 
     COUNT(*) AS num_job_ids 
FROM employees 
GROUP BY department_id 
HAVING COUNT(*) > 5 

私の答えでは、テーブル内のすべてjob_idが一意であると仮定しました。これが当てはまらず、代わりにユニークジョブをカウント/レポートする場合は、COUNT(*)COUNT(DISTINCT job_id)に置き換えることができます。

関連する問題