Задание уровня middle (На понимание работы оконных функций)
Дана таблица:
transaction3 со столбцами
transaction_i -- ID транзакции
customer_id integer -- ID клиента
amount_rur -- сумма транзакции
success_flg -- флаг успешности транзакции
transaction_dt date -- дата и время транзакции Задание:
1) Вывести первую успешную транзакцию по каждому клиенту
2) После выполнения пункта 1, добавить условие: Cумма всех успешных транзакций клиента должна составлять больше 1000
На выходе вывести столбцы: transaction_id, customer_id, amount_rur, transaction_dt
Ответ к заданию
1) SELECT transaction_id, customer_id, amount_rur, transaction_dt
FROM
(SELECT ROW_NUMBER() over( Partition by customer_id ORDER BY transaction_id) as numtrans, transaction_id, customer_id, amount_rur, transaction_dt
FROM transaction as tr
WHERE success_flg = 1
) as tb1
WHERE numtrans = 1
2) SELECT transaction_id, customer_id, amount_rur, transaction_dt
FROM
(SELECT ROW_NUMBER() over( Partition by customer_id ORDER BY t