[Input]


[Problem]
[Output]

[Answer]
select t.event_name
,t.session_cnt
,lag(t.session_cnt,1) over (order by field(event_name, 'visit', 'add_to_cart', 'purchase')) as prev_cnt
,round(session_cnt / lag(t.session_cnt, 1) over (order by field(event_name, 'visit', 'add_to_cart', 'purchase')) * 100, 1) as ratio
from (
select event_name
,count(session_id) as session_cnt
from funnel
group by event_name
) t;