如何同时运行两个SQL查询?获取班级总次数与学生出勤次数
合并两个SQL统计查询的解决方案
可以用条件聚合在单条查询中同时计算两个统计值,避免多次执行查询:
SELECT COUNT(*) AS total_classes, SUM(CASE WHEN userid = 24 AND attendance = 'present' THEN 1 ELSE 0 END) AS student_attended_classes FROM attendance WHERE month = 10 AND grade = 4;
说明:
COUNT(*)直接统计符合month=10且grade=4的总记录数,对应班级总课程次数SUM(CASE...)仅统计满足userid=24且attendance='present'的记录数,得到该学生的出勤课程次数
执行一次查询即可同时获取两个需要的统计结果。
内容的提问来源于stack exchange,提问作者Fahaad Munir
相关产品推荐
相关产品推荐

