**# WINDOW FUNCTIONS**

OVER -- defines a window or user-specified set of rows within a query result set

PARTITION BY() -- divides the query result set into partitions, grouping a subset

RANK() -- this function show us in the output the rank by the column descending
       -- the RANK() skip's the ranks if the value is the same

DENSE_RANK() -- this function show us in the output the rank by the column descending
             -- the RANK() doesn't skip the ranks if the value is the same

ROW_NUMBER() -- It gives the number to the row in the output