**# 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