我有两张桌子。
学生表的batchids列包含学生可能注册的各种课程的逗号分隔的批处理。现在我想得到学生的计数。有人能帮助我吗?
到目前为止,我已经到了
select *
from students
where batchids in (select id from batches where courseid=1)
这给了我一个ID为'1'的学生名单。
答案 0 :(得分:0)
使用count()。
Select count(*)
from students
where batchids in (select id from batches where courseid=1)
答案 1 :(得分:0)
如果我正确理解您的数据,您可以使用以下内容:
学生:(s1,'1,2,3')
batchids:('1,2,3',1),('1,2,3',2),'1,2,3',3)
假设这是正确的,逗号分隔列表只是批处理表的一个键。因此,要获得每门课程的计数,请加入:
select courseid, count(*)
from batches b join
students s
on b.studentid = s.studentid
group by courseid