현재 교실 당 학생 수를 계산하려고합니다. (<> '00 DropTime : 00 '과 PickupTime = '00 : 00') ClassroomID이 < 99 교실에서유니온 MYSQL의 GROUP BY
모든 학생이 : 그리고 날짜가 20161111
조건은 및 날짜 내가 일을 사용하고 20,161,111
입니다 : ClassroomId는> (99)와이 (00 'DropTime = 00)이 교실에서
모든 학생들입니다 전자 MySQL의 쿼리 다음과 잘 작동하고 내가 올바른 결과를 얻을 : 나는 다른 교실에 대한 결과를 얻기 위해 노동 조합을 수행하려고 할 때를 제외하고
SELECT
COUNT(a.Id) AS total, c.Name
FROM
Attendance a
INNER JOIN
Classroom c ON a.classroom = c.Id
WHERE
DropDate = '20161111'
AND DropTime <> '00:00'
AND PickupTime = '00:00'
GROUP BY Name
를 (예를 ClassroomID은> 99) 각을 가져 오지 않는다 총 교실 수는 1 교실입니다. 이것은 내가 사용하고있는 통합 쿼리입니다.
SELECT
SUM(total), Name
FROM
(SELECT
COUNT(a.Id) AS total, c.Name
FROM
Attendance a
INNER JOIN Classroom c ON a.classroom = c.Id
WHERE
DropDate = '20161111'
AND DropTime <> '00:00'
AND PickupTime = '00:00'
AND c.Id < 99
UNION ALL
SELECT
COUNT(a.Id) AS total, c.Name
FROM
Attendance a
INNER JOIN Classroom c ON a.classroom = c.Id
WHERE
DropDate = '20161111'
AND PickupTime = '00:00'
AND c.Id > 99) t
GROUP BY Name
감사합니다. – snowflakes74