sql 连接两个表的平均值
sql join with two tables with avg
我有两张桌子
员工:
employee_numberemployee_name工资divison_id
除法:
division_id division_name
如何显示每个部门所有员工的员工编号、员工姓名、division_name和平均工资。
SELECT employee_number, employee_name, division_name, AVG(amount)
FROM employee
JOIN division ON division.division_id=employee.division_id
GROUP BY division_name;
如果你的数据库支持解析功能,那么你可以按如下方式使用它:
SELECT e.employee_number, e.employee_name, d.division_name,
AVG(salary) over (partition by d.division_id) as avg_sal_div
FROM employee e
JOIN division d ON d.division_id=e.division_id;
你可以试试:
SELECT employee.employee_number, employee.employee_name, division.division_name,
AVG(salary) AS AvgSalary
FROM employee
JOIN division ON division.division_id = employee.division_id
GROUP BY employee_number, employee_name, division_name
但是,我不确定这是否会达到您想要的结果。
要显示“每个部门所有员工的平均工资”,您可以执行以下操作:
SELECT division.division_name AS Division, AVG(salary) AS AvgSalary FROM division
JOIN employee ON employee.division_id = division.division_id
GROUP BY division_name
我有两张桌子 员工:
employee_numberemployee_name工资divison_id
除法:
division_id division_name
如何显示每个部门所有员工的员工编号、员工姓名、division_name和平均工资。
SELECT employee_number, employee_name, division_name, AVG(amount)
FROM employee
JOIN division ON division.division_id=employee.division_id
GROUP BY division_name;
如果你的数据库支持解析功能,那么你可以按如下方式使用它:
SELECT e.employee_number, e.employee_name, d.division_name,
AVG(salary) over (partition by d.division_id) as avg_sal_div
FROM employee e
JOIN division d ON d.division_id=e.division_id;
你可以试试:
SELECT employee.employee_number, employee.employee_name, division.division_name,
AVG(salary) AS AvgSalary
FROM employee
JOIN division ON division.division_id = employee.division_id
GROUP BY employee_number, employee_name, division_name
但是,我不确定这是否会达到您想要的结果。
要显示“每个部门所有员工的平均工资”,您可以执行以下操作:
SELECT division.division_name AS Division, AVG(salary) AS AvgSalary FROM division
JOIN employee ON employee.division_id = division.division_id
GROUP BY division_name