@cats_wrath

Вывести заполненность классов, в чем ошибка?

Есть две таблицы:
Student_in_class имеет поля:
--id - номер записи
--class - идентификатор класса
--student - учащийся
Class имеет поля:
--id - идентификатор класса
--name - имя класса

Необходимо вывести заполненность классов в порядке убывания

Поля в результирующей таблице выбрать: name, count

Я написал такой запрос, который, вроде, показывает правильные данные, однако такое решение неверно:
SELECT name,
(SELECT COUNT(Class.name=Student_in_class.class) FROM Student_in_class
WHERE (Class.id = Student_in_class.class)) AS count
FROM Class ORDER BY count DESC

Подскажите, что исправить
  • Вопрос задан
  • 1164 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fernus
@Fernus
Техник - Механик :)
SELECT `name`, COUNT(`Student_in_class`.*) AS `count`
LEFT JOIN `Student_in_class` ON `Student_in_class`.`class` = `Class`.`id`
FROM `Class`
GROUP BY `Class`.`id`
ORDER BY `count` DESC
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы