Мне нужно запустить отчет об общем количестве учащихся в день. Проблема, с которой я сталкиваюсь, заключается в том, что в моем подзапросе я не могу сделать подходящую группу, чтобы в течение дня я хотел знать, сколько из них поступило по определенной причине.Проблема с подзапросом
Мой запрос:
SELECT
DATE_FORMAT(session.signintime, '%b %d %Y') Date,
COUNT(session.session_id) 'Total',
(SELECT COUNT(aidyear) FROM session WHERE aidyear = '12-13') '12-13',
(SELECT COUNT(aidyear) FROM session WHERE aidyear = '13-14') '13-14'
FROM session
WHERE status = '3'
GROUP BY Date;
Полученный отчет:
+-------------+-------+-------+-------+
| Date | Total | 12-13 | 13-14 |
+-------------+-------+-------+-------+
| Apr 15 2013 | 47 | 38 | 25 |
| Apr 16 2013 | 5 | 38 | 25 |
+-------------+-------+-------+-------+
2 rows in set (0.00 sec)
Как вы заметили, на 16 апреля 2013 года есть в общей сложности только 5 студентов. Теперь обратите внимание, что 12-13 13-14 для обеих строк одинаковы.
Когда я пытаюсь сделать группу, в подзапросе я получаю эту ошибку:
ERROR 1241 (21000): Операнд должен содержать 1 столбец (ы)
означает, что подзапрос возвращает более одной строки в мое понимание.
Я пытался с этим запросом:
SELECT
DATE_FORMAT(session.signintime, '%b %d %Y') Date,
COUNT(session.session_id) 'Total',
(SELECT DATE_FORMAT(session.signintime, '%b %d %Y') Date,
COUNT(aidyear) FROM session WHERE aidyear = '12-13' GROUP BY Date) '12-13',
(SELECT DATE_FORMAT(session.signintime, '%b %d %Y') Date, COUNT(aidyear) FROM session WHERE aidyear = '13-14' GROUP BY Date) '13-14'
FROM session WHERE status = '3'
GROUP BY Date;
Редактировать 1 В соответствии с просьбой Evan
В таблице я запрашивая из только таблицы сессии. Я не присоединяющиеся (как вы заметили)
Таблица имеет следующие:
Primary Key : session_id
Foreign Key : anum(which is a student ID)
Тогда мы имеем: why, aidyear, signintime, studentcomments, status
Не могли бы вы предоставить нам макет таблиц, запрашиваемых вместе с некоторыми примерами данных? –
Обновлено оригинальное сообщение. –
И эти данные на самом деле являются живыми данными, я заметил этот глюк, и я был похож на uh-oh .. –