Когда вы используете группу, вы объединяете много строк в одну. Вы либо GROUP BY столбец, который гарантирует, что значение является одинаковым для каждой строки в группе, или вы агрегируете значения некоторым способом (min, max, avg и т. Д.)
Если вы не укажете столбец в группе, существует двусмысленность в отношении того, какое значение возвращать (поскольку они не входят в группу, так как они могут отличаться, и вам нужно четко указать, какой из них вы хотите)
Вы можете обернуть агрегат вокруг COST, т.е. SUM (стоимость), если вы хотите получить сумму, или MAX (стоимость), если они всегда будут одинаковыми от строки к строке (хотя почему бы не сгруппировать к тому времени?)