Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ключевые слова cube и rollup

Секция GROUP BY

Секция group by используется в сочетании с агрегатными функциями для получения обобщающих данных.

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

При использовании group by все столбцы итогового набора либо являются агрегатными функциями, либо включаются в секцию group by.

 

Пример.

 

SELECT ID_товара, Название_товара, SUM [Стоимость] AS ‘Сумма заказа’

FROM Товар

GROUP BY ID_товара, Название_товара

ORDER BY Название_товара

 

В этом примере в итоговом наборе возвращается id_товара, название товара и его суммарная стоимость.

Здесь используется агрегатная функция SUM, которая возвращает сумму всех значе­ний в столбце.

 

Агрегатные функции не могут работать со значениями типа null, за исклю­чением функции COUNT (*).

 

Список всех агрегатных функций приведен в таблице 3.

Таблица 3. Агрегатные функции

Функция Описание
  COUNT ([ALL| DISTINCT] выражение) Вычисляет количество значений в столб­це, отличных от NULL
  COUNT (*) Вычисляет количество выбранных запи­сей. Эта функция учитывает null- значения
  SUM([ALL| DISTINCT]выражение) Вычисляет общую сумму в числовом столбце
  AVG([ALL | DISTINCT] выражение) Вычисляет среднее арифметическое разных значений в столбце
  MAX (выражение) Определяет максимум среди выбранных значений
  MIN(выражение) Определяет минимум среди выбранных значений
  STDEV (выражение) Вычисляет статистическое стандартное отклонение для всех значений выраже­ния
  STDEVP (выражение) Возвращает смешанную оценку стан­дартного отклонения (квадратный корень от значения, возвращаемого функцией varp) для всех значений столбца
  VAR (выражение) Возвращает несмешанную оценку дис­персии величин для всех значений вы­ражения
  VARPD(выражение) Возвращает смешанную оценку диспер­сии величин для всех значений выраже­ния  
  CHECKSUM(* | выражение [,...n]) Возвращает контрольную сумму для строки таблицы или списка выражений. Эта функция появилась только в SQL Server 2005  
  CHECKSUM_AGG([ALL| DISTINCT] выражение) Возвращает контрольную сумму значе­ния выражения. Эта функция появилась только в SQL Server 2005  

В общем случае секция group by имеет следующий синтаксис:

 

GROUP BY [ALL] список_группировки [ WITH CUBE | ROLLUP ]

Ключевые слова cube и rollup предназначены для выполнения многомерно­го анализа данных в одной команде SQL.

В командах SQL они не могут при­сутствовать одновременно.

 

С помощью этой конструкции выполняется сверхагрегирование данных.

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

cube создает итоговый набор, который показывает сводные показатели для всех комбинаций значений в выбранных колонках.

Каждое сочетание значений столбцов, входящих в секцию group by, порож­дает совокупность групп. Для каждого неповторяющегося значения столбца из списка группировки cube создает дополнительную запись, в которой столбцу присвоено значение null. Это значение null представляет все значе­ния данного столбца.

 

Например, пусть имеется таблица с именем Таблица1, содержащая следующие записи:

Столбец 1 Столбец 2 Столбец 3
  abc  
  def  
  ghi  
  abc  
  def  
  ghi  
       

Далее представлен запрос с with cube и его результат:

 

SELECT [Столбец 1], [Столбец 2], SUM ([Столбец 3])

FROM Таблица1

<== предыдущая лекция | следующая лекция ==>
Секция ORDER BY | 
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 745; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.