Конспект лекций
Вид материала | Конспект |
7.7.Предложение GROUP BY Дополнительные сведения 7.8.Предложение HAVING Дополнительные сведения |
- Конспект лекций 2008 г. Батычко В. Т. Административное право. Конспект лекций. 2008, 1389.57kb.
- Конспект лекций 2010 г. Батычко Вл. Т. Муниципальное право. Конспект лекций. 2010, 2365.6kb.
- Конспект лекций 2011 г. Батычко В. Т. Семейное право. Конспект лекций. 2011, 1718.16kb.
- Конспект лекций 2011 г. Батычко Вл. Т. Конституционное право зарубежных стран. Конспект, 2667.54kb.
- Конспект лекций 2010 г. Батычко В. Т. Уголовное право. Общая часть. Конспект лекций., 3144.81kb.
- Конспект лекций для студентов по специальностям 190302 «Вагоны», 783.17kb.
- Конспект лекций бурлачков в. К., д э. н., проф. Москва, 1213.67kb.
- Конспект лекций для студентов специальности 080504 Государственное и муниципальное, 962.37kb.
- Конспект лекций по курсу "Начертательная геометрия и инженерная графика" Кемерово 2002, 786.75kb.
- Краткий конспект лекций 2009 г. Батычко В. Т. Прокурорский надзор. Конспект лекций., 1859.8kb.
7.7.Предложение GROUP BY
Объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Если инструкция SELECT содержит статистическую функцию SQL, например, Sum или Count, то для каждой записи будет вычислено итоговое значение.
Синтаксис
SELECT списокПолей
FROM таблица
WHERE условиеОтбора
[GROUP BY группируемыеПоля]
Ниже перечислены аргументы инструкции SELECT, содержащей предложение GROUP BY:
Элемент | Описание |
списокПолей | Имена одного или нескольких полей, из которых отбираются данные, вместе с псевдонимами, статистическими функциями SQL, предикатами отбора (ALL, DISTINCT, DISTINCTROW или TOP) и другими элементами инструкции SELECT. |
таблица | Имя таблицы, из которой отбираются записи. Для получения более подробных сведений смотрите описание предложения FROM. |
условиеОтбора | Условия отбора записей. Если инструкция содержит предложение WHERE, то ядро базы данных Microsoft Jet выполняет группировку значений после применения к записям условий отбора WHERE. |
группируемыеПоля | Имена полей (до 10), которые используются для группировки записей. Порядок имен полей в аргументе группируемыеПоля определяет уровень группировки для каждого из этих полей. |
Дополнительные сведения
Предложение GROUP BY является необязательным.
Итоговые значения не рассчитываются, если инструкция SELECT не содержит статистической функции SQL.
Значения Null, которые находятся в полях, заданных в предложении GROUP BY, группируются и не опускаются. Однако статистические функции SQL не обрабатывают значения Null.
Используйте предложение WHERE для исключения записей из группировки, а предложение HAVING для применения фильтра к записям после группировки.
Если поле, включенное в предложение GROUP BY, не является полем типа Memo или объекта ActiveX, оно может содержать ссылку на любое поле, перечисленное в предложении FROM, даже если это поле не включено в инструкцию SELECT, при условии, что инструкция SELECT содержит по крайней мере одну статистическую функцию SQL. Ядро базы данных Jet не поддерживает группировку полей МЕМО или объекта ActiveX.
При использовании предложения GROUP BY все поля в списке полей инструкции SELECT должны быть либо включены в предложение GROUP BY, либо использоваться в качестве аргументов статистической функции SQL.
7.8.Предложение HAVING
Определяет, какие сгруппированные записи отображаются при использовании инструкции SELECT с предложением GROUP BY. После того как записи будут сгруппированы с помощью предложения GROUP BY, предложение HAVING отберет те из полученных записей, которые удовлетворяют условиям отбора, указанным в предложении HAVING.
Синтаксис
SELECT списокПолей
FROM таблица
WHERE условиеОтбора
GROUP BY группируемыеПоля
[HAVING условиеГруппировки]
Ниже перечислены аргументы инструкции SELECT, содержащей предложение HAVING:
Элемент | Описание |
списокПолей | Имена одного или нескольких полей, из которых отбираются данные, вместе с псевдонимами, статистическими функциями SQL, предикатами отбора (ALL, DISTINCT, DISTINCTROW или TOP) и другими элементами инструкции SELECT. |
таблица | Имя таблицы, из которой отбираются записи. Для получения более подробных сведений смотрите описание предложения FROM. |
условиеОтбора | Условия отбора записей. Если инструкция содержит предложение WHERE, то ядро базы данных Microsoft Jet выполняет группировку значений после применения к записям условий отбора WHERE. |
группируемыеПоля | Имена полей (до 10), которые используются для группировки записей. Порядок имен полей в аргументе группируемыеПоля определяет уровень группировки для каждого из этих полей. |
условиеГруппировки | Выражение, определяющее, какие сгруппированные записи следует отображать. |
Дополнительные сведения
Предложение HAVING является необязательным.
Предложение HAVING похоже на предложение WHERE, которое определяет, какие записи должны быть отобраны. После того как записи будут сгруппированы с помощью предложения GROUP BY, предложение HAVING указывает, какие из полученных записей должны быть отобраны:
SELECT КодТипа,
Sum (НаСкладе)
FROM Товары
GROUP BY КодТипа
HAVING Sum (НаСкладе) > 100 And Like "МА*";
Предложение HAVING может содержать до 40 выражений, связанных логическими операторами, такими как And и Or.