/* Все фильмы (film) нужно сгруппировать по рейтингу (film.rating). И для каждой группы вывести 3 поля:

 * - Название рейтинга (film.rating)

 * - Сколько всего фильмов с данным рейтингом 

 * - Сколько фильмов с данным рейтингом и продолжительностью сдачи в аренду 5 или больше (film.rating_duration >= 5) */


select 

f.rating,

count(*) as film_total_cnt,

count(*) filter(where f.rental_duration >= 5) as film_five_more_rent_dur_cnt

from 

film f 

group by 

f.rating 


Решение задания на повторение

SELECT

c3.country ,

count (c.customer_id) customers_number

FROM

customer c

JOIN

address a

USING (address_id)

JOIN city c2

USING(city_id )

JOIN country c3

USING (country_id)

GROUP BY c3.country

ORDER BY 2 DESC

LIMIT 3





Последнее изменение: воскресенье, 16 июля 2023, 23:13