gpt4 book ai didi

mysql - 如何获取学生每月的出勤报告?

转载 作者:行者123 更新时间:2023-11-29 11:37:25 24 4
gpt4 key购买 nike

我通过表单发布获得了student_id=14,我需要获取该student_id的出勤报告,如下

CLASS   STUDENT_ID  YEAR    MONTH   TOTAL_CLASSES   TOTAL_PRESENT

11 14 2016 April 21 20
11 14 2016 May 25 25
11 14 2016 June 30 29
11 14 2016 July 18 18
11 14 2017 January 28 28

这里 TOTAL_CLASSES 代表学校开放的总天数,TOTAL_PRESENT 代表 TOTAL_CLASSES 中学生在校的总人数。

从 HTML 表单中,我只得到 Student_id=14,我需要获取并显示上面的记录。

请参阅此处的sqlfiddle来支持我的回答http://sqlfiddle.com/#!9/63b6a/3

在我的表格中,备注代表 1,2,3 代表出席,0 代表缺席。

最佳答案

您正在计算类(class)学生的出勤人数。此查询的关键步骤是使用 GROUP BY 指示您要分组的列,然后使用 COUNT 和 SUM 聚合函数来计算您要查找的出勤列:

SELECT 
class_id,
student_id,
YEAR(att_date) as year,
MONTH(att_date) as month,
COUNT(remarks) AS total_classes,
SUM(remarks > 0) AS total_present
FROM attendance
WHERE student_id = 15
GROUP BY YEAR(att_date), MONTH(att_date), class_id, student_id;

http://sqlfiddle.com/#!9/63b6a/11

您可以删除 WHERE 子句以显示所有学生的出勤情况。

关于mysql - 如何获取学生每月的出勤报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com