¥0.1
sql语句如何同时获取当前表数据同时获取相关联表对应数据的数目?
0
1.jobs表{id,name} //表示一个作业
2.submitjobs表(id,jobid,userid) jobid关联Jobs表的id //对应一个学生对某次作业的一次提交。
比如:
jobs:
id | name |
---|---|
1 | 作业1 |
2 | 作业2 |
sumbmitjobs:
id | jobid | userid |
---|---|---|
1 | 1 | user1 |
2 | 1 | user2 |
3 | 1 | user3 |
现在想获取jobs表里的信息:select * from jobs。同时获取每个作业当前有多少同学提交作业。请问如何写?
2个回答
0
采纳
先子查询获取数量统计,然后联表。
select a.,b. from jobs a left join (select jobid,count(1) submitcount from submitjobs group by jobid) b on a.id=b.jobid;
备注:当submitjobs表数据量大的时候性能较低。
如果在子查询中有where筛选,可以提升性能。
撰写回答