私は現在存在する教室あたりの生徒の数を取得しようとしています。 (<> '00 DropTime:00' とPickupTime = '00:00' )ClassroomIDが< 99ある教室からユニオンMYSQLのGROUP BY
すべての学生と持っている:そして日がある20161111
ClassroomId>が99であるとしていた教室(DropTime = '00:00' )からのすべての学生と日付は、私が目を使用しています20161111
条件は、
ですE MySQLでクエリ以下、それが正常に動作し、私は正しい結果を得る:私は別の教室での結果(すなわちClassroomID> 99)を得るために労働組合をしようとするときを除き、
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
を、各をもたらすものではありませんトータル数で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