1С Предприятие 8.0. Описание встроенного языка

Группировка результатов запроса


Исходные данные в запросе могут быть сгруппированы с помощью агрегатных функций, указанных в качестве полей в списке выборки. Это означает, что строки в результате запроса будут содержать результаты вычисления указанных агрегатных функций, рассчитанные (сгруппированные) по записям исходных таблиц.

Сами агрегатные функции указываются в списке полей выборки; в предложении СГРУППИРОВАТЬ ПО <Поля группировки> необходимо указать список полей, по которым следует произвести группировку. В запросе будут группироваться записи исходных таблиц, содержащие одинаковые значения указанных полей.

Список полей группировки содержит ссылки на поля исходных таблиц - источников запроса, указанные через запятую:

<Поля группировки>

<Разыменование поля> [, <Разыменование поля> [, ...] ]

Важно! При группировке результатов запроса в списке полей выборки обязательно должны быть указаны агрегатные функции, а помимо агрегатных функций в списке полей выборки допускается указывать только поля, по которым осуществляется группировка.

Исключение составляют ситуации, когда агрегатные функции применены к полям вложенной таблицы В этом случае в списке полей выборки возможны обращения к полям таблицы верхнего уровня, без группировки результатов по этим полям.

При использовании агрегатных функций предложение СГРУППИРОВАТЬ ПО может быть и не указано совсем; при этом все результаты запроса будут сгруппированы в одну единственную строку.

Пример:

// Требуется получить статистику по продаже товаров:

// максимальную, минимальную и среднюю цены в расходных накладных.

Выбрать

    Накладная.Номенклатура,



    Среднее (Накладная.Цена) Как Среднее,

    Максимум (Накладная.Цена) Как Максимум,

    Минимум (Накладная.Цена) Как Минимум

Из

    Документ,РасходнаяНакладная.Состав Как Накладная

Сгруппировать По

    Накладная. Номенклатура

Результат запроса:

Номенклатура Среднее Максимум Минимум
Брюки детские 1 500 1 500 1 500
Рубашка «Ковбойка» 800 800 800
Джинсы женские 1 520 1 700 1 500
Свитер детский 800 800 800
Раковина Лилия 2 250 2 250 2 250
Мойдодыр «Аквариум» 3 166,666667 4 000 2 000
Смеситель Ультра 1 500 1 500 1 500
Кухонный комбайн Крупс 1 500 1 500 1 500



Содержание раздела