使用avg,to_char和拥有

时间:2017-02-01 02:24:41

标签: mysql

显示部门ID,平均工资(货币格式)以及每个部门的工作ID数量。将结果限制为仅包含5个以上作业ID的部门。

到目前为止我尝试过的。

select department_id,to_char(avg(salary,'$ 999,999.00')),count(job_id) 来自员工 group by department_id,salary,job_id 有SUM(job_id)> '5';

我无法理解“无效的参数数量”意味着什么。

enter image description here

1 个答案:

答案 0 :(得分: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)