2017-05-08 30 views
0

我有两个表:如何计算使用Mysql的班级中的学生人数?


Student table 

studentID   fullname  gender   DOB   classID 
91110010003   A    M   03/03/1993  25CCHT02 
91110010004   B    M   08/03/1993  25CCHT02 
91110010005   C    M   04/14/1991  25CCHT02 
93510010005   D    M   07/27/1993  25CCDH02 
93510010008   E    F   03/10/1993  25CCDH02 
93510010009   F    M   06/09/1990  25CCDH02 
93510010010   G    M   18/12/1989  25CCDH02 
99510170307   H    M   05/06/1991  25CCDH02 
99510180112   L    M   07/12/1992  25CCDH02 
99510180150   M    M   22/03/1993  25CCDH02 

LOP 
class ID     class name 
25CCDH02     3D design 
25CCHT02     QTM 
25CCLM01     LT 

我要制作的显示像结果的声明:在列你

class ID     class name    student_count 
25CCDH02     3D design      7 
25CCHT02     QTM      3 
25CCLM01     LT       0 

回答

0

集团想要独一无二,然后使用COUNT()来获得th每组电子计数

select l.`class id`, l.`class name`, count(s.studentID) s_count 
from lop l 
left join student s on s.classID = l.`class id` 
group by l.`class id`, l.`class name` 
0

您可以留下参加与LOP表student表,然后找到所需的集合体:

select l.classid, 
    l.classname, 
    count(*) as student_count 
from lop l 
left join student s on l.classid = s.classid 
group by l.classid, 
    l.classname;