Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SOS!!! Помогите написать запрос SQL

Ёжик с тундры. Ученик (50), на голосовании 1 год назад
Для решения использовать аббревиатуру из https://edu.postgrespro.ru/bookings.pdf

Вычислите медиану стоимости билетов, медиану стоимости бронирования и отношение медианы бронирования к медиане стоимости билетов, округленной до сотых.
Голосование за лучший ответ
Татьяна Просветленный (36374) 1 год назад
SELECT
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ticket_price) AS median_ticket_price,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY booking_price) AS median_booking_price,
ROUND(PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY booking_price) / PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ticket_price), 2) AS booking_to_ticket_ratio
FROM
tickets, bookings; Данный запрос использует функцию PERCENTILE_CONT для вычисления медианы стоимости билетов и медианы стоимости бронирования, а также производит деление медианы бронирования на медиану стоимости билетов и округление результата до сотых.
Ёжик с тундры.Ученик (50) 1 год назад
SQL Error [42703]: ОШИБКА: столбец "ticket_price" не существует
Позиция: 56


Позиция ошибки: line: 10 pos: 55
Ёжик с тундры., ticket_price можно заменить на ticket_flights.amount. А booking_price на bookings.total _amount. По отдельности функция PERCENTILE_CONT находит медианы стоимости в таблицах ticket_flight и bookings: select PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ticket_flights.amount) AS median_ticket_amount from bookings; select PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY bookings.total _amount) AS median_booking_amount from bookings; А совместный запрос, даже без вычисления отношения медианы бронирования к медиане стоимости билетов, уходит в бесконечность: Нужно искать другие варианты.
Николай ХащановЗнаток (436) 1 год назад
Просто задания нужно выполнять самостоятельно и тогда проблем не будет ;)
Лана Добрынина (Ляндау)Ученик (143) 6 месяцев назад
аааха.... Николай - топ. медиану надо извлекать из сумм)), тогда всё ок. а вот с делением нелады
Похожие вопросы