Mysql 如何通过计数将一个组从一个关系关联到另一个关系?
我有以下两种模式:Mysql 如何通过计数将一个组从一个关系关联到另一个关系?,mysql,sql,database,schema,Mysql,Sql,Database,Schema,我有以下两种模式: advisor(s_ID, i_ID) instructor(ID, name, dept_name, credits) 我已通过以下方式计算每个不同I_ID的I_ID出现总数: SELECT i_ID, count(*) FROM advisor GROUP BY i_ID; 每个ID都属于一个部门名称。如何获取每个部门名称出现的总数 例如: i_ID count 21 3 23 4 27 1 29
advisor(s_ID, i_ID)
instructor(ID, name, dept_name, credits)
我已通过以下方式计算每个不同I_ID的I_ID出现总数:
SELECT i_ID, count(*)
FROM advisor
GROUP BY i_ID;
每个ID都属于一个部门名称。如何获取每个部门名称出现的总数
例如:
i_ID count
21 3
23 4
27 1
29 5
假设i_ID 21,23属于讲师(ID,物理),i_ID 27,29属于讲师(ID,化学),则输出为:
dept_name count
physics 7(3+4)
chemistry 6(1+5)
试试这个
select a.dept_name,count(*) as count from instructor a join advisor b
on a.ID=b.i_ID group by a.ID
试试这个
select a.dept_name,count(*) as count from instructor a join advisor b
on a.ID=b.i_ID group by a.ID
我希望这有帮助
select dept name, 0 as total advised
from (select dept name from department
minus
select dept name
from instructor)
union
select dept name, count(*) as total advised
from instructor, advisor
where instructor.id = advisor.I ID
group by dept name
order by dept name;
我希望这有帮助
select dept name, 0 as total advised
from (select dept name from department
minus
select dept name
from instructor)
union
select dept name, count(*) as total advised
from instructor, advisor
where instructor.id = advisor.I ID
group by dept name
order by dept name;
i_ID是外键。我说得对吗?是的,你说得对。虽然它在讲师中被命名为ID。i_ID是外键。我说得对吗?是的,你说得对。尽管它在讲师中被命名为ID。