
Window functions are common in reporting and operational analytics because they let you calculate values across related rows without collapsing the result set. In PostgreSQL, they are especially useful for ranking, sequencing, and comparing records within groups.
You are asked to explain what window functions are in SQL and how they differ from regular aggregate functions. Then explain when you would use ROW_NUMBER() versus DENSE_RANK() in a ranking scenario, such as ordering Infosys BPM support tickets or analyst work items within a queue.
Your answer should define the OVER() clause, describe how partitioning and ordering affect results, and compare the behavior of ROW_NUMBER() and DENSE_RANK() when ties exist. The interviewer expects both a conceptual explanation and a small PostgreSQL example that shows why the two functions return different outputs.