Учебное пособие Санкт-Петербург «бхв-петербург»


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



Pdf көрінісі
бет156/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   152   153   154   155   156   157   158   159   ...   256
sql osnovi yazika

SELECT left( passenger_name, strpos( passenger_name, ' ' ) - 1 )
AS firstname, count( * )
FROM tickets
GROUP BY 1
ORDER BY 2 DESC;
firstname | count
-----------+-------
ALEKSANDR | 20328
SERGEY
| 15133
VLADIMIR | 12806
TATYANA
| 12058
ELENA
| 11291
OLGA
| 9998
...
MAGOMED
|
14
ASKAR
|
13
RASUL
|
11
(363 строки)
Напишите запрос для ответа на аналогичный вопрос насчет распределения ча-
стот фамилий пассажиров.
Подробные сведения о других функциях для работы со строковыми данными
приведены в документации в разделе 9.4 «Строковые функции и операторы».
199


Глава 6. Запросы
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 мы находили ответ на вопрос: сколько маршрутов обслуживают са-
молеты каждого типа? Но для повышения наглядности получаемых результатов
необходимо еще рассчитывать относительные величины, т. е. доли от общего
числа маршрутов.
Вот что требуется получить:
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 строк)
200


Контрольные вопросы и задания
19.* В разделе 6.4 мы использовали рекурсивный алгоритм в общем табличном вы-
ражении. Изучите этот пример, чтобы лучше понять работу рекурсивного алго-
ритма:


Достарыңызбен бөлісу:
1   ...   152   153   154   155   156   157   158   159   ...   256




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

    Басты бет