Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Лабораторная работа № 14. Предложения group BY и having





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

Предложение GROUP BY. Синтаксис:

GROUP BY <список полей>

Предложение GROUP BY применяется для разбиения таблицы на группы строк и применения к каждой группе агрегатных функций. Рассмотрим пример. Пусть необходимо в таблице «Заказано» подсчитать для каждого наименования (кода) товара количество заказов и максимального количества товара в одном заказе. Для уменьшения количества выводимых результатов ограничимся кодами товара от 1 до 5. Задача решается с помощью следующего запроса:

SELECT Заказано.КодТовара, Count(*) AS [К-во заказов], Max([Количество]) AS [Макс_к-во_товара]
FROM Заказано
WHERE КодТовара<6
GROUP BY КодТовара;

Результаты запроса:

КодТовара К-во заказов Макс_к-во_товара
     
     
     
     
     

Самостоятельно составьте и выполните следующие запросы к таблице «Заказы»:

a) подсчитать для каждой страны количество заказов, минимальную, среднюю и максимальную стоимость доставки;

b) подсчитать для каждого города суммарную стоимость доставки всех заказов, отсортировать выбранные записи по суммарной стоимости доставки;

c) подсчитать для каждой страны суммарную стоимость доставки всех заказов;

d) подсчитать для каждого города каждой страны суммарную стоимость доставки всех заказов;

 

Предложение HAVING служит для задания условий, содержащих агрегатные функции.

Пример. Выбрать в таблице «Заказы» города для которых сделано более десяти заказов. Вывести название города и количество заказов. Запрос выглядит так:

SELECT ГородПолучателя, Count(КодЗаказа) AS [К-во заказов]
FROM Заказы
GROUP BY ГородПолучателя
HAVING Count(КодЗаказа)>10;

Самостоятельно составьте и выполните следующие запросы:

a) выбрать из таблицы «Заказано» коды товаров, у которых максимальная скидка больше 20%;

b) выбрать из таблицы «Заказано» для каждого товара код товара, среднюю, минимальную и максимальную цены при условии, что средняя цена меньше 2000

Сохраните запросы и покажите их преподавателю







Date: 2015-12-12; view: 674; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию