Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Предложения group by и having: обобщение результатов

Предложения group by и having: обобщение результатовГруппировка записей в результирующем наборе данных, основанная на каком-либо критерии, может раскрыть с нужной стороны накопленные в таблице данные. К примеру, может потребоваться отобразить результирующий набор с данными заказов не в произвольной последовательности (при этом некоторые заказы могут содержать несколько строк), в которой они вводились, а с группировкой строк, принадлежащих одному заказу. Обратите внимание на повторяющиеся значения столбца ORDLINE_ORDHDRID_FN (группы) с идентификаторами заголовков заказов, в которых содержится больше одной строки. Эта информация может стать еще более полезной при использовании итоговых функций, способных вычислить суммарное, максимальное, минимальное или среднее значение (примеры использования функций SUM и AVG приведены далее). Некоторые разработчики имеют странную склонность использовать для сортировки результирующего набора данных предложение group by. В некоторых ситуациях это может быть практично, к примеру, когда использование предложения sort by (см. следующий раздел) невозможно. Проблема заключается в том, что данная функциональность поддерживается не во всех СУБД. К примеру, такая конструкция больше не работает в Oracle, начиная с версии 10g; не исключено, что и другие производители СУБД изменят в будущем алгоритм обработки предложения group by. Исходя из этого, лучше никогда не использовать в своих программах предложение group by для сортировки данных. Все столбцы, перечисленные в списке предложения select, за исключением консолидированных столбцов (используемых в качестве аргумента итоговых функций), могут быть также перечислены и в предложении group by.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *