Глава 6. Запросы
12.* Предположим, что служба материального снабжения нашей авиакомпании за-
просила информацию о числе рейсов, выполняющихся из Москвы в каждый
день недели.
Результат можно получить путем выполнения семи аналогичных запросов: по
одному для каждого дня недели. Начнем с понедельника:
SELECT 'Понедельник' AS day_of_week, count( * ) AS num_flights
FROM routes
WHERE departure_city = 'Москва'
AND days_of_week @> '{ 1 }'::integer[];
В этом запросе используется оператор @>, который проверяет, содержатся ли
все элементы массива, стоящего справа от него, в том массиве, который нахо-
дится слева. В правом массиве всего один элемент — номер интересующего нас
дня недели.
day_of_week | num_flights
-------------+-------------
Понедельник |
131
(1 строка)
Запрос для вторника отличается лишь номером дня недели в массиве.
Достарыңызбен бөлісу: