ΡΠ΅ΡΠΈΡΡ 4 Π·Π°Π΄Π°ΡΠΈ, ΠΊ Π½ΠΈΠΌ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌ Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ. Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊ 4 Π·Π°Π΄Π°ΡΠ°ΠΌ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ https://edu.postgrespro.ru/bookings.pdf --ΠΠ°Π΄Π°Π½ΠΈΠ΅ 1 --Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΎΡΠ½ΡΡ
ΡΠ°Π»ΠΎΠ½ΠΎΠ² ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡΠΎΠ½ΠΈ select b.book_ref, count(*) from boarding_passes bp join ticket_flights tf on tf.ticket_no = bp.ticket_no and tf.flight_id = bp.flight_id join tickets t on t.ticket_no = tf.ticket_no join bookings b on b.book_ref = t.book_ref group by b.book_ref ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π»ΠΈΡΠ½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π²ΠΎΠΏΡΠΎΡΡ. ΠΠΎΠΏΡΠΎΡ ΠΏΡΠΎ Π²ΡΠ΅ Π±ΡΠΎΠ½ΠΈ, Π° Π½Π΅ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠ°ΡΡΡ. --ΠΠ°Π΄Π°Π½ΠΈΠ΅ 2 --ΠΠ°ΠΉΡΠΈ ΠΌΠ°ΡΡΡΡΡ Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠΌ ΠΎΠ±ΠΎΡΠΎΡΠΎΠΌ select s.departure_city, s.arrival_city, s.sum from (select a.city as departure_city, b.city as arrival_city, sum(tf.amount) as sum from flights f join ticket_flights tf on tf.flight_id = f.flight_id join airports a on f.departure_airport = a.airport_code join airports b on f.arrival_airport = b.airport_code group by a.city, b.city ) s order by sum desc limit 1 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΡΡ - ΡΡΠΎ Π°ΡΡΠΎΠΏΠΎΡΡ Π - Π°ΡΡΠΎΠΏΠΎΡΡ Π. --ΠΠ°Π΄Π°Π½ΠΈΠ΅ 3 --ΠΠ°ΠΉΡΠΈ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΉ ΠΈ Π½Π°ΠΈΡ
ΡΠ΄ΡΠΈΠΉ ΠΌΠ΅ΡΡΡ ΠΏΠΎ Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ»Π΅ΡΠΎΠ² (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΡΠΌΠΌΠ°) -- Π½Π°ΠΈΠ»ΡΡΡΠΈΠΉ ΠΈ Π½Π°ΠΈΡ
ΡΠ΄ΡΠΈΠΉ ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΡΠΌΠΌΠ΅ select max(tb.total_amount), month from ( select t.month, count (*), sum (total_amount) as total_amount from ( select extract (month from b.book_date) as month, b.total_amount from bookings b) t group by month) tb group by tb.month order by max desc -- Π½Π°ΠΈΠ»ΡΡΡΠΈΠΉ ΠΈ Π½Π°ΠΈΡ
ΡΠ΄ΡΠΈΠΉ ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ select max(tb.book_ref), month from ( select t.month, count (*), count(book_ref) as book_ref from ( select extract (month from b.book_date) as month, b.book_ref from bookings b) t group by month) tb group by tb.month order by max desc ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ. ΠΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΅ Π²Π΅ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ΅ΡΡΡΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π·Π° Π²ΡΠ΅ Π³ΠΎΠ΄Π° ΡΡΠ°Π·Ρ. ΠΠΎΠΏΡΠΎΡ ΠΏΡΠΎ ΠΌΠ΅ΡΡΡΠ° ΠΊΠ°ΠΊ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΡΡΠΌΠΌΠ΅, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ. --ΠΠ°Π΄Π°Π½ΠΈΠ΅ 4 --ΠΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ Π³ΠΎΡΠΎΠ΄Π°ΠΌΠΈ ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΡ Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π΄ΠΊΠΈ? --ΠΠ΅ΡΠ΅ΡΠ°Π΄ΠΊΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠ° Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΌ Π°ΡΡΠΎΠΏΠΎΡΡΡ ΠΌΠ΅Π½Π΅Π΅ 24 ΡΠ°ΡΠΎΠ². select ad.arrival_airport, ad.departure_airport, ad.difference from ( select de.arrival_airport, ar.departure_airport, de.actual_departure - ar.actual_arrival as difference from flights as de join flights as ar on ar.arrival_airport = de.departure_airport) as ad where extract (day from ad.difference) > 1 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΡΡΡΠ°ΠΌΠΈ ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠΎΠ² ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΈΡ
Π±ΠΈΠ»Π΅ΡΠΎΠ². ΠΠΎΠΆΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°ΡΠΎΠΉ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΅ΡΡ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.