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


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

применимо к: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  

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

результаты запроса: цена, сгруппированная издателем и типом

Группирование строк

  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  
    

См. также

Результаты сортировки и группирования запросов