SQL_Scripts_Window_Function_Part1
SQL_Scripts_Window_Function_Part1
/* **************
Video Summary
************** */
-- By using MAX as an window function, SQL will not reduce records but the result
will be shown corresponding to each record.
select e.*,
max(salary) over(partition by dept_name) as max_salary
from employee e;
-- Fetch the top 3 employees in each department earning the max salary.
select * from (
select e.*,
rank() over(partition by dept_name order by salary desc) as rnk
from employee e) x
where x.rnk < 4;
-- Checking the different between rank, dense_rnk and row_number window functions:
select e.*,
rank() over(partition by dept_name order by salary desc) as rnk,
dense_rank() over(partition by dept_name order by salary desc) as dense_rnk,
row_number() over(partition by dept_name order by salary desc) as rn
from employee e;