Я уже несколько часов борюсь за запрос, но просто не могу понять. Две таблицы, одна для студентов и вторая, которая содержит все классы, для которых зарегистрирован каждый ученик. Мне нужен набор результатов, который имеет одну строку на одного учащегося, плюс количество классов, для которых зарегистрирован студент. Вот моя ближайшая попытка дата:MySQL Count with Join и Group
SELECT
count(*), student.*
FROM student
LEFT JOIN schedule
ON student.id = schedule.studentid
GROUP BY schedule.studentid
Я использую LEFT JOIN, потому что результаты должны включать студентов, которые еще не зарегистрированы для любых классов. К таблицам присоединяется идентификатор студента, который также является тем, как я их группирую.
Текущее исполнение, похоже, работает (в основном), за исключением того, что оно не возвращает студентов без каких-либо классов в их расписание.
Я застрял здесь и ищу всех, кто может дать мне быстрый выход из грязи. Спасибо за любую тягу, которую вы можете предложить!
Я получаю ошибку синтаксиса с группой по student. *, но запрос, похоже, работает как ожидается с группой student.id. Спасибо за быстрый и отличный пример! – Jimmyb
да, ну тогда вместо ученика. * Просто покажите и соберите столбцы по одному на один – Sebas
спасибо! Добрый вечер. – Sebas