TGViewer
SQL Programming Resources SQL Programming Resources @sqlanalyst · 76.7K subscribers
Post #2250 3.11K
✅ SQL Window Functions Interview Questions with Answers ✍️

1. What are window functions in SQL?
• Window functions perform calculations across related rows
• They do not reduce rows
• Each row keeps its detail
Key syntax: OVER (PARTITION BY, ORDER BY)

2. Difference between GROUP BY and window functions
• GROUP BY collapses rows
• Window functions keep all rows
• Window functions add calculated columns

3. What is ROW_NUMBER?
• Assigns unique sequential number
• No ties allowed

Example: Rank employees by salary

SELECT name, salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS rn
FROM employees;

4. Difference between ROW_NUMBER, RANK, and DENSE_RANK
• ROW_NUMBER gives unique numbers
• RANK skips numbers on ties
• DENSE_RANK does not skip

Example salaries: 100, 100, 90

ROW_NUMBER → 1, 2, 3
RANK → 1, 1, 3
DENSE_RANK → 1, 1, 2

5. What is PARTITION BY?
• PARTITION BY splits data into groups
• Window function runs inside each group

Example: Rank employees per department

SELECT department, name, salary,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS dept_rank
FROM employees;

6. Find top 2 salaries per department

SELECT * FROM (
SELECT department, name, salary,
DENSE_RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rnk
FROM employees
) t
WHERE rnk <= 2;

7. What is LAG?
• Accesses previous row value
• Used for comparisons

Example: Day over day sales

SELECT date, sales, LAG(sales) OVER (ORDER BY date) AS prev_day_sales
FROM daily_sales;

8. What is LEAD?
• Accesses next row value

Example: Compare today with next day

SELECT date, sales, LEAD(sales) OVER (ORDER BY date) AS next_day_sales
FROM daily_sales;

9. Calculate day over day growth
SELECT date, sales - LAG(sales) OVER (ORDER BY date) AS growth
FROM daily_sales;

10. Common window function interview mistakes
• Forgetting ORDER BY inside OVER
• Using WHERE instead of subquery to filter ranks
• Mixing GROUP BY with window logic incorrectly

Execution order: FROM → WHERE → GROUP BY → HAVING → SELECT → WINDOW → ORDER BY

Double Tap ♥️ For More
  • ❤ 5
  • 👍 2
More from @sqlanalyst
  1. Oct 13, 2026SQL Interview Series — Part 8 📌 Question 8: Find Customers Who Have Never Placed an Order…
  2. Oct 13, 2026𝗧𝗢𝗣 𝗙𝗥𝗘𝗘 𝗖𝗢𝗨𝗥𝗦𝗘𝗦 𝗧𝗢 𝗕𝗢𝗢𝗦𝗧 𝗬𝗢𝗨𝗥 𝗦𝗞𝗜𝗟𝗟𝗦 𝗜𝗡 𝟮𝟬𝟮𝟲! Explor…
  3. Oct 12, 2026SQL Interview Series — Part 6 📌 Question 6: Find the Top 2 Highest-Paid Employees in Each…
  4. Oct 12, 2026🚀 𝗪𝗵𝗶𝗰𝗵 𝗧𝗲𝗰𝗵 𝗦𝗸𝗶𝗹𝗹 𝗪𝗶𝗹𝗹 𝗬𝗼𝘂 𝗠𝗮𝘀𝘁𝗲𝗿 𝗶𝗻 𝟮𝟬𝟮𝟲? Want to buil…
  5. Oct 9, 2026SQL Interview Series — Part 5 📌 Question 5: Find Employees Who Earn More Than Their Manag…
  6. Oct 9, 2026🇮🇳 𝗚𝗢𝗩𝗘𝗥𝗡𝗠𝗘𝗡𝗧 𝗢𝗙 𝗜𝗡𝗗𝗜𝗔 — 𝗔𝗜𝗖𝗧𝗘 𝗜𝗡𝗧𝗘𝗥𝗡𝗦𝗛𝗜𝗣𝗦 𝟮𝟬𝟮𝟲 🚀…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →