employee表的全部数据:
SELECT EMPLOYEE_id,salary,avg(salary) FROM test1.employees
group by employee_id
having avg(salary)>8000;
使用这个查询语句想得到平均工资大于8000的平均工资,可是为什么结果不是平均工资呢?
怪我咯2017-04-17 15:06:36
employee_id별로 그룹화하고 있습니다. 테이블 레코드에 각 Employee_id에 대해 하나의 레코드만 있습니다. 평균에는 하나의 값만 있지 않습니까?
모든 직원의 평균 급여를 원하는 경우에는 기준으로 그룹화하지 마세요.
迷茫2017-04-17 15:06:36
이해가 어렵습니다. 평균 급여가 무엇입니까? 직원 ID에 대한 것이라면 어떻게 사람의 급여가 평균 급여라고 할 수 있습니까? 일반적으로 특정 부서 직원의 평균 연봉이 8,000 이상인 직원의 연봉을 말합니다
직원 t 내부 조인에서 t.salary,t.employee_id,t1.avg_salary를 선택합니다(department_id별로 직원 그룹에서 Department_id,avg(salary) avg_salary 선택) t1 on t.department_id = t1.department and t1.avg_salary > 8000