我正试图每月生成每个学生的出勤率。我的方法是这样的。。也许是错的,但我正在尝试这种方式。我有一个考勤表,它有分支、学期、部门和attance_status(0或1(字段。这是每天记录的。下表记录了迄今为止所进行的课程总数。这是为了计算每个学生的出勤率。
我想要的是生成一个表,其中包含学生id、学生迄今为止参加的课程总数和迄今为止进行的课程总数。
我试着在学生id上使用distinct,它会返回给我没有重复的学生id,但我不知道如何生成学生参加的课程总数
我已尝试以下查询。
select distinct a.student_id, b.totalclasses_count from bkec_attendance a,total_classes b where a.attendance_status = 1
有了上面的查询,我就可以获得无重复的student_id和迄今为止的班级总数。我不知道如何计算每个学生的上课次数。
我使用count和group by得到了解决方案。mysql代码在下面给出
select a.student_id, count(*),b.totalclasses_count from attendance a,total_classes b where a.attendance_status = 1 group by a.student_id