@pacan4ik

Как работает GROUP BY?

Подскажите, зачем нам надо писать в некоторых запросах GROUP BY?
Например, пишу я такой SELECT и все нормально
SELECT Trip.plane, Trip.id
Но при таком мне выдает ошибку
SELECT Trip.plane, COUNT(Trip.plane) planes
Для чего тут нужен GROUP BY и зачем он нужен в принципе?
  • Вопрос задан
  • 546 просмотров
Решения вопроса 2
Ты просишь MYSQL посчитать количество самолетов, тоесть каждая строка результата запроса это количество самолетов в чем то, например, количество самолетов одного типа, количество самолетов вылетающих на дату и так далее. В первом примере в запросе ты должен вывести Тип самолета, количество и в group by указать что ты хочешь сгрупировать самолеты по типу и вывести их количество.
В твоем примере, количество чего ты хочешь вывести?
SQL это формализованный язык. он дает точный ответ на точный вопрос. Попробуй перевести то что ты написал в запросе на русский и подумай, а точно ли поставлен мой вопрос?
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
Назначение GROUP BY - поделить весь набор данных на группы, и для каждой группы, вне зависимости от количества записей в ней, посчитать одну результирующую запись.

Например, пишу я такой SELECT и все нормально
SELECT Trip.plane, Trip.id


Ну да, тебе нужны отдельные самолёты, соответственно никакие группы не нужны. GROUP BY не требуется.

Но при таком мне выдает ошибку
SELECT Trip.plane, COUNT(Trip.plane) planes

А вот теперь ты хочешь, поделив все имеющиеся самолёты на группы, собрав в каждую группу самолёты одного типа, посчитать в каждой группе количество самолётов. И для того, чтобы указать, по какому признаку нужно делить на группы, требуется GROUP BY.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы