КАТЕГОРИИ: Архитектура-(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. Агрегатные функции
В общем случае секция group by имеет следующий синтаксис:
GROUP BY [ALL] список_группировки [ WITH CUBE | ROLLUP ] Ключевые слова cube и rollup предназначены для выполнения многомерного анализа данных в одной команде SQL. В командах SQL они не могут присутствовать одновременно.
С помощью этой конструкции выполняется сверхагрегирование данных. Обычные функции агрегирования применяются к строкам группы и возвращают единственное значение для всей группы. При использовании ключевых слов cube или rollup происходит вычисление функции агрегирования для значений, возвращаемых для каждой колонки. cube создает итоговый набор, который показывает сводные показатели для всех комбинаций значений в выбранных колонках. Каждое сочетание значений столбцов, входящих в секцию group by, порождает совокупность групп. Для каждого неповторяющегося значения столбца из списка группировки cube создает дополнительную запись, в которой столбцу присвоено значение null. Это значение null представляет все значения данного столбца.
Например, пусть имеется таблица с именем Таблица1, содержащая следующие записи:
Далее представлен запрос с with cube и его результат:
SELECT [Столбец 1], [Столбец 2], SUM ([Столбец 3]) FROM Таблица1
Дата добавления: 2014-01-06; Просмотров: 745; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |