Программирование >>  Исключение дубликатов строк 

1 ... 136 137 138 [ 139 ] 140 141 142 ... 152


Были проанализированы интересные примеры использования GROUP BY в подзапросе, который играет роль фильтра в условии WHERE. Построение запроса с GROUP BY и без использования агрегатных функций является тем же, что и использование DISTINCT в условии SELECT. Необходимо внимательно строить условия GROUP BY, чтобы включить столбцы, а не выражения.

Помните, что SQL не принимает во внимание какой-либо информации о первичных ключах. Мы также предупредили об ошибках, которые можно допустить при использовании выражений со столбцами в условии SELECT.

Условие GROUP BY является полезным, и мы представили примеры задач, которые можно решить с использованием GROUP BY. Затем были представлены примеры построения запросов, требуюш,их использования условия GROUP BY.

Зодочи для сомостоятельного решения

Ниже приведены формулировки запросов и имена решений этих запросов в учебных базах данных. Попрактикуйтесь немного и разработайте SQL для кавдого запроса, а затем сверьте свой ответ с запросом, который сохранен нами в этих базах данных. Не беспокойтесь, если ваш синтаксис не совсем точно совпадает с синтаксисом сохраненных запросов,- важно, чтобы набор результатов был тем же.

База данных заказов но закупку

1. Show те each vendor and the average by vendor of the number of days to deliver products .

( Показать каждого поставш,ика и среднее количество дней поставки товаров для поставш,ика .)

{Совет: Используйте агрегатную функцию AVGn объединение в группу по поставш,ику.)

Решение можно найти в Vendor Avg Delivery (10 строк).

2. Display for each product the product name and the total sales . ( Вывести на экран для каждого товара наименование товара

и обилий объем продаж .)

{Совет: Используйте функцию SUM с вычислением количества, умноженного на цену и сгруппированного по наименованию товара.) Решение можно найти в Sales By Product (38 строк).

Бозо донных огентство эстрадных ллероприйтий.

1. Show each agents name, the sum of the contract price

for the engagements booked, and the agents total commission . ( Показать имя каждого агента, сумму цен контрактов для заявленных ангажементов и обшую сумму комиссионного вознаграждения агента .) {Совет: Следует перемножить сумму цен контракта и комиссионное вознаграждение агента. Убедитесь, что группирование выполнено по ставке комиссионного вознаграждения!)

Решение можно найти в Agent Sales And Commissions (8 строк).



Бозо донных лиги игры в боулинг

1. Display for each bowler the bowler name and the average of their raw game scores .

( Вывести на экран, для каждого игрока в боулинг, имя игрока и среднее количество очков за предварительные игры .) {Совет: Используйте агрегатную функцию AVG и объединение в группу по имени игрока в боулинг.) Решение можно найти в Bowler Average (32 строки).

Бозо донных росписония зонятий

1. Display by category the category name and the count of classes offered .

( Вывести на экран дисплея список категорий с наименованием категории

и количеством предложенных курсов лекций .)

{Совет: Используйте функцию COUNT и объединение в группы

по наименованию категории.)

Решение можно найти в Category Class Count (16 строк).

2. List each staff member and the count of classes each is scheduled to teach .

( Привести список всех штатных сотрудников и количество курсов лекций, которые каждый из них запланировал прочитать .) {Совет: Используйте функцию COUNT и объединение в группы по имени преподавателя.)

Решение можно найти в Staff Class Count (23 строки).

Бозо донных рецептов

1. If I want to cook all the recipes in my cookbook, how much of each ingredient must I have on hand?

( Если попытаться приготовить все рецепты из поваренной книги, то какое количество каждого компонента необходимо иметь в запасе? ) {Совет: Воспользуйтесь функцией SUM и выполните объединение в группы по названию компонента и описанию единиц измерения количества.)

Решение можно найти в Total IngredientsNeeded (65 строк).





ilk










фильтроция сгруппировонных донных

Пусть педагоги ум терзают свой, Грамматик правилами, вздором и ученьем;

Уверен я - от выпивки хорошей Лишь глубже станет прозорливость духа .

Оливер Голдсмит



Вопросы, россмотрипоемые о донной глоое

Сужение групп

Фильтр: Почувствуйте розницу Использовоние HAVING Примеры опероторов Итоги

Зодочи для сомостоятельного решения






главе 12 были представлены детали всех агрегатных функций, определенных в стандарте SQL. В главе 13 Мы показали, как запросить систему БД сгруппировать множества строк вместе, а затем высчитать агрегатные значения по каждой группе. Одно из преимуш,еств объединения в группу состоит в том, что можно также отобразить типизированное выражение на основе группирования столбцов для идентификации каждой группы.

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

Сужение групп

Собрав информацию в группы строк, можно запросить MIN, МАХ, AVG, SUM или COUNT для всех значений в каждой группе. Предположим, что нужно еш,е более

уточнить окончательный набор результатов

сузить группы,- проверяя одно из

агрегатных значений. Рассмотрим простой запрос:

Ш0&










1 ... 136 137 138 [ 139 ] 140 141 142 ... 152

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика