Поделиться через


Группы строк в результатах запроса (визуальные инструменты базы данных)

применимо к: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) AS Total_price
FROM titles
GROUP BY pub_id, type;

Результирующий результат может выглядеть следующим образом:

Снимок экрана: результаты запроса: цена сгруппирована по издателю и типу.

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

  1. Запустите запрос, добавив таблицы, которые нужно свести к области диаграммы.

  2. Щелкните правой кнопкой мыши на фоне области диаграммы, а затем в контекстном меню выберите Добавить группу по. Конструктор запросов и представлений добавляет столбец Group By в сетку в панели условий.

  3. Добавьте столбец или столбцы, которые нужно сгруппировать, в панель условий. Если вы хотите, чтобы столбец отображался в выходных данных запроса, убедитесь, что для выходных данных выбран соответствующий столбец выходных данных.

    Конструктор запросов и представлений добавляет GROUP BY предложение в инструкцию в области SQL. Например, инструкция SQL может выглядеть следующим образом:

    SELECT pub_id
    FROM titles
    GROUP BY pub_id;
    
  4. Добавьте столбец или столбцы, которые необходимо агрегировать, в панель условий. Убедитесь, что столбец помечен для вывода данных.

  5. В ячейке сетки Group By для столбца, который будет агрегирован, выберите соответствующую агрегатную функцию.

    Конструктор запросов и представлений автоматически назначает псевдоним столбца столбцу, который вы суммируете. Вы можете заменить этот автоматически созданный псевдоним более значимым. Дополнительные сведения см. в статье "Создание псевдонимов столбцов " (визуальные инструменты для баз данных)".

    Снимок экрана: добавление псевдонима столбца в результирующий набор запросов.

    Соответствующий запрос в области SQL может выглядеть следующим образом:

    SELECT pub_id,
           SUM(price) AS Totalprice
    FROM titles
    GROUP BY pub_id;