Я понимаю смысл GROUP BY x
Но как
GROUP BY x, y
работает, и что это значит?
sql
group-by
multiple-columns
л --''''''--------- «» «» «» «» «» «»
источник
источник
Ответы:
Group By X
означает положить всех тех, кто имеет одинаковое значение для X в одну группу .Group By X, Y
означает, что все те же с одинаковыми значениями для X и Y в одной группе .Чтобы проиллюстрировать это на примере, скажем, у нас есть следующая таблица, чтобы узнать, кто посещает какой предмет в университете:
Когда вы используете только
group by
в теме столбца; сказать:Вы получите что-то вроде:
... потому что есть 5 записей для ITB001 и 2 для MKB114
Если бы мы были
group by
две колонки:мы бы получили это:
Это происходит потому, что когда мы группируем по двум столбцам, это говорит: «Сгруппируйте их так, чтобы все те, у кого один и тот же предмет и семестр, были в одной группе, а затем вычислили все агрегатные функции (Count, Sum, Average и т. Д. ) для каждой из этих групп " . В этом примере это демонстрируется тем фактом, что, когда мы их подсчитываем, три человека делают ITB001 в 1-м семестре, а два - в семестре 2. Оба из MKB114 находятся в 1-м семестре, поэтому нет строка за семестр 2 (данные не вписываются в группу "MKB114, семестр 2")
Надеюсь, это имеет смысл.
источник
GROUP BY A,B
это то же самое, что иGROUP BY B,A
?GROUP BY a, b
иGROUP BY a AND b
поскольку во втором списке перечислены только сгруппированные элементы с одинаковым содержанием и без «подгрупп». В этом случае вывод будет таким же, как первый.Предложение
GROUP BY
используется вместе с агрегатными функциями для группировки результирующего набора по одному или нескольким столбцам. например:Запомните этот порядок:
Вы можете использовать все это, если вы используете агрегатные функции, и это порядок, в котором они должны быть установлены, в противном случае вы можете получить ошибку.
Агрегатные функции:
источник