InterviewStack.io LogoInterviewStack.io

Advanced SQL Window Functions Questions

Mastery of Structured Query Language window functions and advanced aggregation techniques for analytical queries. Core function families include ranking functions such as ROW_NUMBER, RANK, DENSE_RANK, and NTILE; offset functions such as LAG and LEAD; value functions such as FIRST_VALUE, LAST_VALUE, and NTH_VALUE; and aggregate window expressions such as SUM OVER and AVG OVER. Candidates should understand the OVER clause with PARTITION BY and ORDER BY, frame specifications using ROWS BETWEEN and RANGE BETWEEN, tie handling, null behavior, and how frame definitions affect results. Common application patterns include top N per group, deduplication using row numbering, running totals and cumulative aggregates, moving averages, percent rank and distribution calculations, event sequencing and period over period comparisons, gap and island analysis, cohort and retention analysis, and trend and growth calculations. The topic also covers structuring complex queries with Common Table Expressions including recursive Common Table Expressions to break multi step analytical pipelines and to handle hierarchical or iterative problems, and choosing between window functions, GROUP BY, joins, and subqueries for correctness and readability. Performance and correctness considerations are essential, including join and sort costs, index usage, memory and sort spill behavior, execution planning and query optimization techniques, and trade offs across different database dialects and large data volumes. Interview assessments typically ask candidates to write and explain queries that use these functions, reason about frame semantics for edge cases such as ties, nulls, and partition boundaries, and to rewrite or optimize expensive queries.

HardTechnical
67 practiced
Advanced gap-and-island: In table events(user_id int, event_time timestamp, status text) identify islands where status = 'active' for contiguous periods and compute total active time per island, allowing a tolerance of 5 minutes between events to still count as contiguous. Provide a scalable SQL solution suitable for billions of rows.
MediumTechnical
60 practiced
Compare window frame and function differences across at least three SQL dialects (Postgres, BigQuery, Snowflake, Redshift). Focus on support for RANGE with INTERVAL, IGNORE NULLS, default frame behavior for FIRST_VALUE/LAST_VALUE, and limits on window frame expressions. What portability pitfalls should a data engineer be aware of?
HardTechnical
78 practiced
Events are stored as a JSON array in a single column per user: user_events(user_id int, events jsonb). Each events array contains objects with event_time and type. Write SQL (Postgres or Snowflake) to return the timestamp of the 2nd event per user. Provide an approach using NTH_VALUE or unnest-with-ordinality and explain trade-offs.
MediumTechnical
78 practiced
Write a SQL query to return top 5 products by revenue per category but if the 5th rank is tied among multiple products include all products that tie for 5th place. Table: sales(product_id, category, revenue). Explain your choice of ranking function.
EasyTechnical
75 practiced
Given table customers(customer_id int, email text, name text, updated_at timestamp), write a SQL statement to deduplicate customers by email keeping only the row with the latest updated_at per email. Provide a safe (idempotent) approach for Postgres that can be run in production and explain trade-offs.

Unlock Full Question Bank

Get access to hundreds of Advanced SQL Window Functions interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.