84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
employee表的全部数据:
SELECT EMPLOYEE_id,salary,avg(salary) FROM test1.employees group by employee_idhaving avg(salary)>8000;
使用这个查询语句想得到平均工资大于8000的平均工资,可是为什么结果不是平均工资呢?
学习是最好的投资!
因為你group by id,每個id下不是只有一個工資麼
select EMPLOYEE_id,salary,(select avg(salary) FROM employees) from employees where salary > (select avg(salary) FROM employees);
大概可以,你試試看吧
你是按照employee_id分組的,表記錄裡面每個employee_id就只有一條記錄,你avg不就只有一個值嗎.你如果想要全部員工的平均工資就不要groupb by了
理解有問題,平均薪資,平均的什麼呢,如果是針對employee_id的話,一個人的薪水怎麼能說平均薪資呢。一般來說是某個部門下平均薪資大於8000的員工薪資吧
select t.salary,t.employee_id,t1.avg_salary from employees t inner join (select department_id,avg(salary) avg_salary from employees group by department_id) t1 on t.department_id = 電話.
因為你group by id,每個id下不是只有一個工資麼
大概可以,你試試看吧
你是按照employee_id分組的,表記錄裡面每個employee_id就只有一條記錄,你avg不就只有一個值嗎.
你如果想要全部員工的平均工資就不要groupb by了
理解有問題,平均薪資,平均的什麼呢,如果是針對employee_id的話,一個人的薪水怎麼能說平均薪資呢。一般來說是某個部門下平均薪資大於8000的員工薪資吧
select t.salary,t.employee_id,t1.avg_salary from employees t inner join (select department_id,avg(salary) avg_salary from employees group by department_id) t1 on t.department_id = 電話.