русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Группировка данных


Дата добавления: 2015-07-09; просмотров: 507; Нарушение авторских прав


Предложение GROUP BY неразрывно связано с агрегирующими функциями. Предложение GROUP BY разделяет таблицу на наборы, а агрегирующая функция вычисляет для каждого из них итоговое значение.

Пример:

SELECT SUM(Оклад) FROM СП_СЛ

Возвращает фонд заработной платы для ВСЕЙ организации.

SELECT Код лаборатории, SUM(Оклад) FROM СП_СЛ GROUP BY Код лаборатории

Возвращает фонд заработной платы для каждой лаборатории.

 

В большинстве диалектов SQL каждый элемент из списка GROUP BY должен обязательно присутствовать в списке выбора, то есть группировать можно только выбираемые элементы.

 

Использование предложения GROUP BY без агрегирующих функций напоминает использование предложения DISTINCT. Оно разделяет таблицу на группы и для каждой из них возвращает по одной строке.

Пример:

SELECT Код лаборатории FROM СП_СЛ GROUP BY Код лаборатории

SELECT DISTINCT Код лаборатории FROM СП_СЛ

Оба запроса возвращают аналогичный результат.

 

В самом общем смысле, предложение HAVING работает аналогично предложению WHERE, но применяется к группам. WHERE накладывает ограничения на строки, а HAVING – на группы. Как правило, предложение HAVING используется совместно GROUP BY.

Если запрос содержит предложения WHERE, GROUP BY, HAVING и агрегирующие функции, то он выполняется в следующей последовательности.

1. Предложение WHERE находит требуемые строки.

2. Предложение GROUP BY делит найденные строки на группы.

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

4. Предложение HAVING проверяет результирующие строки всех групп и решает, следует ли включить их в окончательный результат.

Пример:

1. SELECT Код лаборатории, COUNT(*) FROM СП_СЛ GROUP BY Код лаборатории HAVING COUNT(*)>5

Выбирает только те лаборатории, в которых работает больше 5 сотрудников.



2. SELECT Код лаборатории, COUNT(*) FROM СП_СЛ GROUP BY Код лаборатории HAVING Код лаборатории LIKE ‘1%’

SELECT Код лаборатории, COUNT(*) FROM СП_СЛ WHERE Код лаборатории LIKE ‘1%’ GROUP BY Код лаборатории

Оба запроса возвращают лаборатории, имеющие код, начинающийся с «1», и количество служащих, работающих в этих лабораториях. Однако второй запрос более эффективен, так как строки, содержащие коды лабораторий, которые не начинаются с «1», будут удалены до группирования, а не после него, как это произойдет в первом случае.



<== предыдущая лекция | следующая лекция ==>
Выбор неопределенных значений | Соединение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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