Здравствуйте! Разрешите нам использовать некоторые сервисы и cookies для улучшения вашего опыта и работы сайта?

Политика конфиденциальности и cookies.
SQL код скопирован в буфер обмена
EN PT FR
Задание 14:
Классификация имён по популярности. 
Столбец passenger_name таблицы tickets содержит полные имена, где имя и фамилия разделены пробелом. 
Извлеките имена пассажиров, подсчитайте количество вхождений каждого имени и распределите их на 3 (примерно равные) группы в зависимости от популярности: (Most Popular, Moderately Popular, or Least Popular).

Выведите результат в таблице с колонками:
    - first_name - имя в верхнем регистре.
    - occurrences_count - количество вхождений имени.
    - popularity - класс популярности: Most Popular, Moderately Popular, or Least Popular.
Результаты должны быть отсортированы по количеству вхождений (по убыванию), затем по имени (в алфавитном порядке).

Для написания ответа используйте синтаксис PostgreSQL. Описания таблиц приведены в правой панели.

Напишите ваш запрос в поле ниже и нажмите кнопку "Проверить!"
Подсказка
Копировать код Очистить

База данных Bookings (PostgreSQL)

Предметной областью этой базы данных являются рейсы авиакомпаний через различные аэропорты. База данных Bookings содержит 8 таблиц.

ER диаграмма базы данных Bookings ER диаграмма базы данных Bookings

Список таблиц:

aircrafts_data - таблица самолетов.
  • aircraft_codeУникальный код для каждого самолета
  • modelНазвание модели самолета на английском и русском языках в формате JSON
  • rangeДальность полета самолета в километрах
aircraft_codemodelrange
1773{
"en": "Boeing 777-300",
"ru": "Боинг 777-300"
}
11100
  • PRIMARY KEY, btree (aircraft_code)
airports_data - таблица аэропортов.
  • airport_codeУникальный код для каждого аэропорта
  • airport_nameНазвание аэропорта на английском и русском языках в формате JSON
  • cityГород аэропорта на английском и русском языках в формате JSON
  • coordinatesКоординаты аэропорта в виде POINT(долгота, широта)
  • timezoneНазвание часового пояса аэропорта
airport_codeairport_namecitycoordinatestimezone
1YKS{
"en": "Yakutsk Airport",
"ru": "Якутск"
}
{
"en": "Yakutsk",
"ru": "Якутск"
}
(129.77099609375,62.0932998657227)Asia/Yakutsk
  • PRIMARY KEY, btree (airport_code)
boarding_passes - посадочные талоны.
  • ticket_noНомер билета
  • flight_idИдентификатор рейса
  • boarding_noНомер посадочного талона
  • seat_noНомер места
ticket_noflight_idboarding_noseat_no
100054352123513062512D
  • PRIMARY KEY, btree (ticket_no, flight_id)
  • UNIQUE CONSTRAINT, btree (flight_id, boarding_no)
  • UNIQUE CONSTRAINT, btree (flight_id, seat_no)
  • FOREIGN KEY (ticket_no, flight_id) REFERENCES ticket_flights(ticket_no, flight_id)
bookings - бронирования билетов.
  • book_refНомер бронирования
  • book_dateДата бронирования
  • total_amountОбщая стоимость бронирования
book_refbook_datetotal_amount
100000F2017-07-05 00:12:00+00265700.00
  • PRIMARY KEY, btree (book_ref)
flights - таблица полётов.
  • flight_idИдентификатор рейса
  • flight_noНомер рейса
  • scheduled_departureЗапланированное время отправления
  • scheduled_arrivalЗапланированное время прибытия
  • departure_airportАэропорт вылета
  • arrival_airportАэропорт прибытия
  • statusСтатус рейса
  • aircraft_codeКод самолета, IATA
  • actual_departureФактическое время отправления
  • actual_arrivalФактическое время прибытия
flight_idflight_noscheduled_departurescheduled_arrivaldeparture_airportarrival_airportstatusaircraft_codeactual_departureactual_arrival
11185PG01342017-09-10 06:50:00+002017-09-10 11:55:00+00DMEBTKScheduled319
  • PRIMARY KEY, btree (flight_id)
  • UNIQUE CONSTRAINT, btree (flight_no, scheduled_departure)
seats - таблица мест в самолетах.
  • aircraft_codeКод самолета, IATA
  • seat_noНомер места
  • fare_conditionsКласс путешествия
aircraft_codeseat_nofare_conditions
13192ABusiness
  • PRIMARY KEY, btree (aircraft_code, seat_no)
  • FOREIGN KEY (aircraft_code) REFERENCES aircrafts(aircraft_code) ON DELETE CASCADE
ticket_flights - привязка билетов к рейсам.
  • ticket_noНомер билета
  • flight_idИдентификатор рейса
  • fare_conditionsКласс путешествия
  • amountСтоимость поездки
ticket_noflight_idfare_conditionsamount
1000543215977630625Business42100.00
  • PRIMARY KEY, btree (ticket_no, flight_id)
  • FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
  • FOREIGN KEY (ticket_no) REFERENCES tickets(ticket_no)
tickets - таблица билетов.
  • ticket_noНомер билета
  • book_refНомер бронирования
  • passenger_idИдентификатор пассажира
  • passenger_nameИмя пассажира
  • contact_dataКонтактная информация пассажира
ticket_nobook_refpassenger_idpassenger_namecontact_data
1000543200098706B0468149 604011VALERIY TIKHONOV{
"phone": "+70127117011"
}
  • PRIMARY KEY, btree (ticket_no)
  • FOREIGN KEY (book_ref) REFERENCES bookings(book_ref)