Level 5 - SeniorOptimization Questions
Optimization: DISTINCT vs Window Dedupe
Interviewer prompt: Need latest session per user. Pick better query. Query A: SELECT DISTINCT user_id, FIRST_VALUE(session_id) OVER (PARTITION BY user_id ORDER BY started_at DESC) AS latest_session FROM sessions; Query B: SELECT user_id, session_id FROM (SELECT user_id, session_id, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY started_at DESC, session_id DESC) AS rn FROM sessions) t WHERE rn = 1;