Учебно-практическое пособие москва 2017 ббк


SELECT left( passenger_name, strpos( passenger_name, ' ' ) - 1 )



Pdf көрінісі
бет151/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   147   148   149   150   151   152   153   154   ...   243
Байланысты:
Язык SQL. Базовый курс

SELECT left( passenger_name, strpos( passenger_name, ' ' ) - 1 )
AS firstname, count( * )
FROM tickets
GROUP BY 1
ORDER BY 2 DESC;
154


firstname | count
------------+-------
ALEKSANDR | 20328
SERGEY
| 15133
VLADIMIR | 12806
TATYANA
| 12058
ELENA
| 11291
OLGA
| 9998
...
MAGOMED
|
14
ASKAR
|
13
RASUL
|
11
(363 строки)
Напишите запрос для ответа на аналогичный вопрос насчет распределения ча-
стот фамилий пассажиров.
Подробные сведения о других функциях для работы со строковыми данными
приведены в документации в разделе 9.4 «Строковые функции и операторы».
15.* В тексте главы были кратко рассмотрены оконные функции. Самостоятельно
ознакомьтесь с разделами документации, которые рекомендуется изучить для
более детального ознакомления с этим классом функций.
Подумайте, в какой ситуации, связанной с базой данных «Авиаперевозки», было
бы полезно применить оконные функции, и напишите запрос.
16.* Вместе с агрегатными функциями может использоваться предложение FILTER.
Самостоятельно ознакомьтесь с этой темой, обратившись к разделу документа-
ции 4.2.7 «Агрегатные выражения». Напишите запрос с использованием пред-
ложения FILTER с агрегатной функцией.
17. В тексте главы в разделе 6.4 мы рассмотрели два способа получения ответа на
вопрос: как распределяются места с разными классами обслуживания в самоле-
тах всех типов?
А с помощью какого запроса можно получить результат в таком виде:
aircraft_code |
model
| fare_conditions | count
---------------+---------------------+-----------------+-------
319
| Airbus A319-100
| Business
|
20
319
| Airbus A319-100
| Economy
|
96
...
CR2
| Bombardier CRJ-200 | Economy
|
50
SU9
| Sukhoi SuperJet-100 | Business
|
12
SU9
| Sukhoi SuperJet-100 | Economy
|
85
(17 строк)
18. В разделе 6.2 «Соединения» мы находили ответ на вопрос: сколько маршрутов
обслуживают самолеты каждого типа? Но для повышения наглядности получа-
емых результатов необходимо еще рассчитывать относительные величины, т. е.
доли от общего числа маршрутов.
Вот что требуется получить:
155


a_code |
model
| r_code | num_routes | fraction
--------+---------------------+--------+------------+----------
CR2
| Bombardier CRJ-200 | CR2
|
232 |
0.327
CN1
| Cessna 208 Caravan | CN1
|
170 |
0.239
...
773
| Boeing 777-300
| 773
|
10 |
0.014
320
| Airbus A320-200
|
|
0 |
0.000
(9 строк)
19.* В разделе 6.4 «Подзапросы» мы использовали рекурсивный алгоритм в общем
табличном выражении. Изучите этот пример, чтобы лучше понять работу ре-
курсивного алгоритма:


Достарыңызбен бөлісу:
1   ...   147   148   149   150   151   152   153   154   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет