찾다

 >  Q&A  >  본문

mysql - 想用sql语句查询平均值,为何不是平均值呢?

employee表的全部数据:

SELECT EMPLOYEE_id,salary,avg(salary) FROM test1.employees
group by employee_id
having avg(salary)>8000;

使用这个查询语句想得到平均工资大于8000的平均工资,可是为什么结果不是平均工资呢?

PHPzPHPz2873일 전717

모든 응답(3)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-17 15:06:36

    아이디별로 그룹핑을 하기 때문에 아이디별로 급여가 하나씩만 있는거 아닌가요?

    으아아아

    아마도 한번 시도해 볼 수 있을 것입니다

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-17 15:06:36

    employee_id별로 그룹화하고 있습니다. 테이블 레코드에 각 Employee_id에 대해 하나의 레코드만 있습니다. 평균에는 하나의 값만 있지 않습니까?
    모든 직원의 평균 급여를 원하는 경우에는 기준으로 그룹화하지 마세요.

    회신하다
    0
  • 迷茫

    迷茫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

    회신하다
    0
  • 취소회신하다