Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
168 views
in Technique[技术] by (71.8m points)

sql join with two tables with avg

i have two tables employee :

employee_number employee_name salary divison_id

division :

division_id division_name

How to Show employee number, employee name, division_name and average salary of all employees in each division.

question from:https://stackoverflow.com/questions/65942439/sql-join-with-two-tables-with-avg

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can try:

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

However, I'm not certain this will achieve your desired result.

To show the "average salary of all employees in each division", you'd do something such as:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...