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

1 ... 129 130 131 [ 132 ] 133 134 135 ... 152


Show те for each entertainment group the group- name, the count of contracts for the group, the total price of all the contracts, the lowest contract price, the highest contract price, and th average price of all the contracts .

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

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

Преобразование: Select entertainer name, the count of contracts, the sum

of the contract price, the lowest contract price, the highest contract price, and the average contract price from the entertainers table joined with the engagements table on entertainer ID, grouped by entertainer name (Выбрать имя эстрадного артиста, количество контрактов, сумму цен контракта, наименьшую стоимость контракта, наибольшую стоимость контракта и среднюю стоимость контракта из таблицы Эстрадные артисты , соединенной с таблицей Ангажементы по идентификатору эстрадного артиста, сгруппированные по имени эстрадного артиста)

Select entertainer name, the count of (*) contracts, the sum of the (contract price), the lowest min(contract price),

max(contract price), and the average avg(contract price) from the entertainers t bte joined with the engagements table on entertainer ID, grouped by entertainer name

(Выбрать имя эстрадного артиста, count (*), sum(цeнa контракта), min(стоимость контракта), max(стоимость контракта) и avg(стоимость контракта) из Эстрадные артисты , соединенной с Ангажементы по идентификатору эстрадного артиста, сгруппированные по имени эстрадного артиста)

Уточнение:


SELECT Entertainers.EntStageName, COUNT (*) AS NumContracts, SUM (Engagements.ContractPrice) MIN (Engagements.ContractPrice)

AS TotPrice, AS MinPrice,



МАХ (Engagements.ContractPrice) AS MaxPrice, AVG (Engagements.ContractPrice) AS AvgPrice

FRpM Entertainers

INNER JOIN Engagements

ON Entertainers.EntertainerlD = Engagements.EntertainerlD

GROUP BY Entertainers.EntStageName

Обратите внимание на сделанную подстановку MIN для наименьшего, МАХ для наибольшего и AVG для среднего значения. Также в запрос включена функция COUNT(*), поскольку нужно подсчитать все строки с ангажементами (контрактами) невзирая на какие-либо значения Null. Добавление условия GROUP BY предоставляет агрегатные вычисления по каждой группе эстрадных артистов в отдельности и, кроме того, позволяет включить имя эстрадного артиста в условие SELECT. (Этот запрос сохранен в учебной базе данных как Aggregate Contract Info By Entertainer.)

Customers

CustomerlD PK

CustFirstName

CustLastName

CustStreetAddress

CustCity

CustState

CustZipCode

CustPhoneNumber

........>

Engagements

EngagementNumber

StartDate

EndDate

StartTime

StopTime

ContractPrice

CustomerlD

AgentID

EntertainerlD

Рис. 13.3. Связь между таблицами

Customer и Engagements

А что делать, если нужно выполнить объединение в группу более чем по одному значению? Рассмотрим эту проблему, но с точки зрения клиентов, а не артистов, и предположим, что нужно отобразить в наборе результатов как фамилию клиента, так и его имя. На рис. 13.3 представлены нужные таблицы.

Show те for each customer the customer first and last name, the count of contracts for the customer, the total price of all the contracts, the lowest contract price, the highest contract price, and the average price of all the contracts .

( Показать для каждого клиента имя и фамилию, количество контрактов клиента, общую сумму всех контрактов, наименьигую стоимость контракта, наибольшую стоимость контракта и среднюю стоимость всех контрактов .)

Преобразование: Select customer last name, customer first name, the count

of contracts, the sum of the contract price, the lowest contract price, the highest contract price, and the average contract price from the customers table joined with the engagements table on customer ID, grouped by customer last name and customer first name (Выбрать фамилию клиента, имя клиента, количество контрактов, сумму цен контракта, наименьшую стоимость



Уточнение:

контракта, наибольшую стоимость контракта и среднюю стоимость контракта из таблицы Клиенты , соединенной с таблицей Ангажементы по идентификатору клиента, сгруппированные по фамилии и по имени клиента)

Select customer last name, customer first name, the count (*) contracts, the sum of the (contract price), the lowest min(contract price), the highest max(contract price), and the average avg(contract price) from the customers table joined with the engagements table on customer ID, grouped by customer last name customer first name (Выбрать фамилию клиента, имя клиента, count (*), $ит(цена контракта), min(стоимость контракта), тах(стоимость контракта) и avg(стоимость контракта) из Клиенты , соединенной с Ангажементы по идентификатору клиента, сгруппированные по фамилии клиента, по имени клиента)

SELECT Customers.CustLastName, Customers.CustFirstName, COUNT(*) AS NumContracts, SUM (Engagements.ContractPrice) AS MIN (Engagements.ContractPrice) AS MAX (Engagements.ContractPrice) AS AVG (Engagements.ContractPrice) AS FROM Customers INNER JOIN Engagements

OM Customers.CustomersID = Engagements.CustomersID GROUP BY Customers.CustLastName, Customers.CustFirstName

Результат будет похож на приведенную ниже таблииу, (Этот запрос сохранен в учебной базе данных как Aggregate Contract Info By Customer.)

TotPrice, MinPrice, MaxPrice, AvgPrice

Joyce

$7Д)0().00 1 $320.00

$2Л50т \ $875.00 t

Buchanan

Amelia

$4,635.00 1 $200.00 1 $1,490.00

$669.29

Calkhan

Sallv

<)

$11,520.00

$140 00 1 $2,750.00

$1.280.00

Bhrllch

$7,015.00

$110.00

$2,930.00

$876.88

Zacliarv*

$12,45ДЮ 1 $230.00

$1350.00

$958.08 1

1 Fuller i

.......,.........................и...............\

s 12,320.00 $шт

t

$2,450X)0

$X,232X)0 i

I 1

j FuUcr Mallraark

Thomas

S13J45.00

$200.00

S 2.675..00

$1374,50

Elizabeth

$25,585.00

$410.00

$14,105.00

$3/198.43

остальные строки



1 ... 129 130 131 [ 132 ] 133 134 135 ... 152

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