Группирование строк в результатах запроса (визуальные инструменты для баз данных)
Область применения: SQL Server
Если нужно создать подытог или отобразить другие сводные сведения о подмножествах таблицы, создайте группы, используя статистический запрос. Каждая такая группа обобщает данные всех строк таблицы, имеющих одно и то же значение.
Например, нужно узнать среднюю стоимость книг, данные о которых хранятся в таблице titles
, и разделить результаты в соответствии с идентификаторами издателей. Для этого следует сгруппировать запрос на основе идентификатора издателя (например pub_id
). Сведения, выведенные таким запросом, могли бы выглядеть следующим образом:
Группируя данные, можно отобразить только сводные или сгруппированные данные, подобные следующим.
Значения сгруппированных столбцов (столбцов, указанных в предложении GROUP BY). В приведенном выше примере столбец
pub_id
является сгруппированным.Значения, созданные агрегатными функциями, такими как SUM( ) и AVG( ). В приведенном выше примере второй столбец создается путем применения функции AVG( ) к столбцу
price
.
Отобразить значения отдельных строк нельзя. Например, если группируются данные только по идентификаторам издателей, нельзя отобразить в запросе еще и отдельные названия книг. Таким образом, если столбцы добавляются в вывод запроса, конструктор запросов и представлений автоматически добавляет их в предложение GROUP BY инструкции на панели SQL. Если нужно, чтобы столбец содержал статистические данные, можете определить для него агрегатную функцию.
Если данные группируются по нескольким столбцам, каждая группа в запросе отображает статистические значения всех столбцов группировки.
Например, следующий запрос таблицы titles
группирует данные по идентификаторам издателей (pub_id
) и типам книг (type
). Результаты запроса упорядочиваются по идентификаторам издателей и представляют сводные данные о каждом типе книг, издаваемых издателем:
SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type
Итоговый вывод мог бы выглядеть следующим образом:
Группирование строк
Инициируйте запрос, добавив таблицы, сводную информацию о которых нужно получить, на панель диаграмм.
Щелкните правой кнопкой мыши фон панели диаграммы и выберите из контекстного меню пункт Добавить Group By . Конструктор запросов и представлений добавляет столбец Группировать в сетку на панели критериев.
Добавьте столбец или столбцы, которые нужно сгруппировать, на панель критериев. Если нужно, чтобы столбец был отображен в выводе запроса, не забудьте убедиться в том, что для вывода выбран столбец Вывод .
Конструктор запросов и представлений добавит в инструкцию, отображаемую на панели SQL, предложение GROUP BY. Например, инструкция SQL может иметь такой вид:
SELECT pub_id FROM titles GROUP BY pub_id
Добавьте на панель критериев столбец или столбцы, статистическую информацию о которых нужно получить. Убедитесь, что столбец помечен для вывода.
В ячейке Группировать для столбца, статистическую информацию о котором нужно получить, выберите подходящую агрегатную функцию.
Конструктор запросов и представлений автоматически назначает суммируемому столбцу псевдоним, Псевдоним, созданный автоматически, можно заменить более содержательным псевдонимом. Дополнительные сведения см. в статье о создании псевдонимов столбцов.
Соответствующая инструкция могла бы выглядеть на панели SQL следующим образом:
SELECT pub_id, SUM(price) AS Totalprice FROM titles GROUP BY pub_id