Mysql SQL:连接到两个表,然后使用sum()和count()
如果我有两张桌子: 学校:Mysql SQL:连接到两个表,然后使用sum()和count(),mysql,sql,Mysql,Sql,如果我有两张桌子: 学校: school_id | class_id | school_location ------------------------------------------- 400 50 Arizona 工作人员: staff_id | forename | school_id | wage ------------------------------------------ 1 Peter
school_id | class_id | school_location
-------------------------------------------
400 50 Arizona
工作人员:
staff_id | forename | school_id | wage
------------------------------------------
1 Peter 400 5000
我怎样才能得到产出,在学校工作的员工人数和每所学校的工资
例如:
school_id | numberofstaff | salary
---------------------------------------
400 | 1 | 5000
我知道我应该这样加入表格:
SELECT school_id
FROM school
INNER JOIN staff
ON school.school_id = staff.school_id
但是,我不确定如何执行查询的其余部分
SELECT numberofstaff COUNT(numberofstaff) from staff
GROUP BY school_id
Union all
select 'SUM' numberofstaff, COUNT(numberofstaff)
FROM staff
这应该给我我的学校id,以及每个学校id的员工人数。一旦你加入两个表,你就可以计算员工人数并计算每个学校的所有工资:
SELECT sc.school_id,
COUNT(*) as numberofstaff,
SUM(st.wage) as salary
FROM school sc
INNER JOIN staff st
ON sc.school_id = st.school_id
GROUP BY sc.school_id
这样试试
SELECT COUNT(staff.numberofstaff) as numberofstaff , school.school_id as school_id FROM school
INNER JOIN staff
ON school.school_id = staff.school_id
GROUP BY school.school_id;
那么这个select查询是否会在我的join语句下面呢?不,这个查询就是要执行的全部内容。啊,现在它有了意义。谢谢