Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- 1
- -- Напишите SQL запрос, выбирающий имя клиента,
- -- оформившего заказ с максимальной суммой в январе 2022 года
- with orders_w_rank as (
- select
- coalesce(c.client_name, 'Не определено') as client_name
- rank() over(order by order_sum desc) as order_sum_rank
- from orders o
- left join clients c on c.client_id = o.client_id
- where
- date_trunc('month', order_date) = '2022-01-01'
- )
- select client_name
- from orders_w_rank
- where order_sum_rank = 1
- -- 2
- -- Напишите SQL запрос, который выводит количество доставленных(Delivered) и количество выполняемых(In Progress) заказов в разрезе даты с сортировкой по дням
- select
- order_date::date as report_date,
- count(case when order_state = 'Delivered' then order_id end) as delivered_count,
- count(case when order_state = 'In Progress' then order_id end) as in_progress_count
- from orders
- group by 1
- order by 1
- -- 3
- -- Напишите SQL запрос, который выведет имя клиента, который совершил только один заказ
- -- и только на заданную дату - 05.01.2022
- select
- coalesce(c.client_name, 'Не определено') as client_name
- from orders o
- left join clients c on c.client_id = o.client_id
- where
- order_date::date = '2022-01-05'
- group by 1
- having count(o.order_id) = 1
Advertisement
Add Comment
Please, Sign In to add comment