Если я использую оконную функцию dens_rank, приведенную ниже, которая дает мне мой вывод, который представляет собой транзакцию, возвращаемую по датам в порядке возрастания, и присваивает ей 1 в качестве ранга:
select p.billing_cycle_in_months, avg(t.days)
from (
select *,
datediff(day,transaction_settled_at, transaction_refunded_at) as days,
dense_rank() over (partition by signup_id order by transaction_settled_at asc) as rank
from transactions
) t
join signups s on s.signup_id = t.signup_id
join plans p on p.id = s.plan_id
where datediff(year,s.started_at, current_date) > 1 and t.rank = 1
group by p.billing_cycle_in_months
По сути, получу ли я такой же результат используя оконную функцию row_number, ранжированную по столбцу с той же датой (транзакция_установка как c)?
В основном сгруппированы по циклу выставления счетов. Я хочу ранжировать самый ранний день как 1, просто хочу подтвердить, что в этом случае row_number даст мне такой же результат?
Спасибо