Предложение СГРУППИРОВАТЬ ПО

Предложение СГРУППИРОВАТЬ ПО <Поля группировки> позволяет описать порядок группировки результатов запроса.

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

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

В предложении можно использовать логические выражения.

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

СГРУППИРОВАТЬ ПО <Поля группировки>
      |
  <Разыменование поля> [, <Разыменование поля> [, …]]

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

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

Пример:

// Требуется получить статистику по продаже товаров:
// максимальную, минимальную и среднюю цены в расходных накладных.

ВЫБРАТЬ
   Накладная.Номенклатура,
   СРЕДНЕЕ (Накладная.Цена) КАК Среднее,
   МАКСИМУМ (Накладная.Цена) КАК Максимум,
   МИНИМУМ (Накладная.Цена) КАК Минимум

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

СГРУППИРОВАТЬ ПО
   Накладная.Номенклатура

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

Номенклатура

Среднее

 Максимум

 Минимум

 Брюки детские

1 500 

1 500 

1 500 

 Рубашка "Ковбойка"

800 

800 

800 

 Джинсы женские

1 520 

1 700 

1 500 

 Свитер детский

800 

800 

800 

 Раковина "Лилия"

2 250 

2 500 

2 000 

 Мойдодыр "Аквариум"

3 166 

4 000 

2 000 

 Смеситель "Ультра"

1 500 

1 500 

1 500 

 Кухонный комбайн Крупс

1 500 

1 500 

1 500 

1C:Enterprise Developer's Community