Создание запросов SQL на выборку с группировкой



Операторы для числовых полей: =, >,<,>=,<=, <>

Логические and, on, not, in, between

Строковые LIKE для полей дата, текста и МЕМО

Параметры групповой операции

COUNT SUM AVG MIN MAX

Создание групп (GROUP BY)

Группы создаются с помощью предложения GROUP BYоператора SELECT. Рассмотрим на примере.

SELECT Product, SUM(Quantity)ASProduct_numFROMSumproductGROUP BYProduct

Данным запросом мы извлекли информацию о количестве реализованной продукции в каждом месяце. Оператор SELECTприказывает вывести два столбца Product- название продукта и Product_num- расчетное поле, которое мы создали для отображения количества реализованной продукции (формула поля SUM (Quantity)). Предложение GROUP BYуказывает СУБД сгруппировать данные по столбцу Product. Стоит также отметить, что GROUP BYдолжен идти после предложения WHEREи перед ORDER BY.

2. Фильтрующие группы (HAVING)

Так же, как мы фильтровали строки в таблице, мы можем осуществлять фильтрацию по сгруппированным данным. Для этого в SQLсуществует оператор HAVING. Возьмем предыдущий пример и добавим фильтрацию по группам.

SELECT Product, SUM(Quantity)ASProduct_numFROMSumproductGROUP BYProductHAVINGSUM(Quantity)>4000

Видим, что после того, как была посчитана количество реализованного товара в разрезе каждого продукта, СУБД "отсекла" те продукты, которых было реализовано меньше 4000 шт.

Как видим, оператор HAVINGочень похож на оператора WHERE, однако между собой они имеют существенное отличие: WHEREфильтрует данные до того, как они будут сгруппированы, а HAVING- осуществляет фильтрацию после группировки. Таким образом, строки, которые были изъяты предложением WHEREНЕ будут включены в группу. Итак, операторы WHEREи HAVINGмогут использоваться в одном предложении. Рассмотрим пример:

SELECT Product, SUM(Quantity)ASProduct_numFROMSumproductWHEREProduct<>'Skis Long'GROUP BYProductHAVINGSUM(Quantity)>4000

Мы к предыдущему примеру добавили оператор WHERE, где указали товар Skis Long, что в свою очередь повлияло на группирование оператором HAVING. Как результат видим, что товар Skis Longне попал в перечень групп с количеством реализованной продукции больше 4000 шт.

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

Как и при обычной выборке данных, мы можем сортировать группы после группировки оператором HAVING. Для этого мы можем использовать уже знакомый нам оператор ORDER BY. В данной ситуации его применения аналогичное предыдущим примерам. К примеру:

SELECT Product, SUM(Quantity)ASProduct_numFROMSumproductGROUP BYProductHAVINGSUM(Quantity)>3000 ORDER BYSUM(Quantity)

или просто укажем номер поля по порядку, по которому хотим сортировать:

SELECT Product, SUM(Quantity)ASProduct_numFROMSumproductGROUP BYProductHAVINGSUM(Quantity)>3000 ORDER BY2

Видим, что для сортировки сводных результатов нам нужно просто прописать предложения с ORDER BYпосле оператора HAVING. Однако есть один нюанс. СУБД Accessне поддерживает сортировку групп по псевдонимами колонок, то есть в нашем примере, чтобы сортировать значения, мы не сможем в конце запроса прописатьORDER BYProduct_num.

 

Вопрос 40.

Содержание постановки информационной задачи, разрабатываемой с использованием БД.

Автоматизированная информационная система позволит выполнять ежедневные рутинные операции быстрее, сделает обработку данных удобной, даст возможность анализировать деятельность фирмы благодаря наглядным отчётам. В качестве инструментального средства разработки базы данных выбрана СУБД MS Access, базирующаяся на реляционной модели данных. Данная система предназначена для сотрудников организации, она позволит автоматизировано производить регистрацию клиентов, вести учет материалов, удобнее контролировать их поставку, рассчитывать рабочее время персонала. Система должна быть качественной и корректной, то есть должна выполнять все требуемые функции и быть пригодной для эксплуатации. Система должна быть устойчивой, то есть способной выполнять запланированные действия. В то же время, база данных должна быть простой в использовании, и иметь удобный интерфейс. Итак, в первой главе были определены цели создания системы, задачи, которые она будет решать; были построены диаграммы с использованием трёх методологий. С помощью диаграмм IDEF0 деятельность фирмы была представлена как совокупность взаимодействующих работ и функций, были определены механизмы и управляющие элементы процесса. Диаграмма потоков данных дала возможность описать и внешние по отношению к системе источники, хранилища данных, к которым осуществляется доступ. С помощью методологии IDEF3, были описаны причинно-следственные связи между действиями, последовательность их выполнения. Таким образом, анализ объекта исследования и разработка моделей его функционирования полностью выполнены.

Вопрос 39.


Дата добавления: 2018-08-06; просмотров: 488; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!