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语句下面呢?不,这个查询就是要执行的全部内容。啊,现在它有了意义。谢谢