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


SELECT arrival_city, count( * )



Pdf көрінісі
бет127/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   123   124   125   126   127   128   129   130   ...   243
Байланысты:
Язык SQL. Базовый курс

SELECT arrival_city, count( * )
FROM routes
WHERE departure_city = 'Москва'
GROUP BY arrival_city
ORDER BY count DESC;
arrival_city
| count
--------------------------+-------
Санкт-Петербург
|
12
Брянск
|
9
Ульяновск
|
5
Йошкар-Ола
|
4
Петрозаводск
|
4
...
В качестве второго примера рассмотрим ситуацию, когда руководству компании
потребовалась обобщенная информация по частоте выполнения рейсов, а именно:
сколько рейсов выполняется ежедневно, сколько рейсов — шесть дней в неделю, пять
и т. д. Опять обратимся к материализованному представлению «Маршруты» (routes).
Но теперь при формировании запроса, в отличие от первого примера, воспользуем-
ся столбцом days_of_week, в котором содержатся
массивы
номеров дней недели, когда
выполняется данный рейс.
SELECT array_length( days_of_week, 1 ) AS days_per_week,
count( * ) AS num_routes
FROM routes
GROUP BY days_per_week
ORDER BY 1 desc;
days_per_week | num_routes
---------------+------------
7 |
482
3 |
54
2 |
88
1 |
86
(4 строки)
В этом запросе используется функция array_length, возвращающая количество эле-
ментов в указанном измерении массива. Поскольку массив одномерный, то вторым
параметром функции будет число 1 — первое измерение.
129


При выполнении выборок можно с помощью условий, заданных в предложении
WHERE, сузить множество выбираемых строк. Аналогичная возможность существу-
ет и при выполнении группировок: можно включить в результирующее множество
не все строки, а лишь те, которые удовлетворяют некоторому условию. Это условие
можно задать в


Достарыңызбен бөлісу:
1   ...   123   124   125   126   127   128   129   130   ...   243




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

    Басты бет