Назначение GROUP BY - поделить весь набор данных на группы, и для каждой группы, вне зависимости от количества записей в ней, посчитать одну результирующую запись.
Например, пишу я такой SELECT и все нормально
SELECT Trip.plane, Trip.id
Ну да, тебе нужны отдельные самолёты, соответственно никакие группы не нужны. GROUP BY не требуется.
Но при таком мне выдает ошибку
SELECT Trip.plane, COUNT(Trip.plane) planes
А вот теперь ты хочешь, поделив все имеющиеся самолёты на группы, собрав в каждую группу самолёты одного типа, посчитать в каждой группе количество самолётов. И для того, чтобы указать, по какому признаку нужно делить на группы, требуется GROUP BY.