46. SQL: Advanced Window Functions
SQLTrend analysis and rankings (ROW_NUMBER) over time.
SELECT
department_id,
employee_name,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) as rank_in_dep
FROM employees;
When to use
Useful for rankings, year-over-year comparisons, or trend analysis without writing subqueries.
Common pitfalls
ROW_NUMBER() assigns a unique number even for ties — if you want a shared rank for equal values, use RANK() or DENSE_RANK() instead.