-- 1. Сколько суммарно каждый тип самолёта провёл в воздухе, если брать завершённые перелеты.
SELECT -- Времня проведенное в воздухе
a.model "Модель_самолета",
SUM(f.actual_arrival - f.actual_departure) "В_воздухе_часов"
FROM bookings.aircrafts a
JOIN
bookings.flights f ON f.aircraft_code = a.aircraft_code
WHERE f.status = 'Arrived'
GROUP BY a.model
ORDER BY В_воздухе_часов DESC;
-- 2. Сколько было получено посадочных талонов по каждой брони
SELECT COUNT(bp.boarding_no) as boarded_count
FROM bookings.boarding_passes bp
JOIN
bookings.tickets t ON t.ticket_no = bp.ticket_no
JOIN bookings.bookings b ON
b.book _ref =
t.book _ref
WHERE
b.book _ref =
t.book _ref
GROUP BY bp.boarding_no;
-- Аналогичное решение задачи
SELECT COUNT(bp.boarding_no) as boarded_count
FROM bookings.boarding_passes bp
JOIN
bookings.flights f ON f.flight_id = bp.flight_id
WHERE f.actual_departure IS NOT NULL
GROUP BY bp.boarding_no;
-- 3. Вывести общую сумму продаж по каждому классу билетов
SELECT tf.fare_conditions AS "Класс",
SUM(amount) AS "Сумма"
FROM bookings.ticket_flights AS tf
GROUP BY tf.fare_conditions
ORDER BY Сумма DESC;
-- 4. Найти маршрут с наибольшим финансовым оборотом
-- 5. Найти наилучший и наихудший месяцы по бронированию билетов (количество и сумма)
-- 6. Между какими городами пассажиры делали пересадки?
-- Пересадкой считается нахождение пассажира в промежуточном аэропорту менее 24 часов
select * from
bookings.tickets ;
select * from bookings.aircrafts;
select * from
bookings.flights ;
select * from bookings.boarding_passes;
select * from bookings.bookings;
select * from bookings.ticket_flights;
Сколько было получено посадочных талонов по каждой брони
Вывести общую сумму продаж по каждому классу билетов
Найти маршрут с наибольшим финансовым оборотом
Найти наилучший и наихудший месяцы по бронированию билетов (количество и сумма)
Между какими городами пассажиры делали пересадки? Пересадкой считается нахождение пассажира в промежуточном аэропорту менее 24 часов.