![](/img/trans.png)
[英]MYSQL top 2 salaried employees in each department and average department salary
[英]Using sub-query find the average salary of employees for each department , order employees within a department by age
表員工
Name Age Department Salary
Ramesh 20 Finance 50,000
Deep 25 Sales 30,000
Suresh 22 Finance 50,000
Ram 28 Finance 20,000
Pradeep 22 Sales 20,000
如何解決使用子查詢?
使用 window function,
select name,age,department,salary.
avg(salary) OVER(partition by department order by age) AS avg_salary from Employee
OUTPUT
Name Age Department Salary Avg_Salary
Ramesh 20 Finance 50,000 40, 000
Suresh 22 Finance 50,000 40, 000
Ram 28 Finance 20,000 40, 000
Pradeep 22 Sales 20,000 25, 000
Deep 25 Sales 30,000 25, 000
你可以使用:
select e.Name,
e.Age,
e.Department,
e.Salary,
tbl.avg_salary
from employees e
inner join ( select Department,
avg(Salary) as avg_salary
from employees
group by Department
) as tbl on e.Department=tbl.Department
order by e.Department,e.Age asc;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.