Understanding the RANK() Function in SQL

In SQL databases, the RANK() function is a window function that returns the rank of the current row within its partition, with gaps.

By “with gaps” I mean that if there are any ties for a given rank, there will be a gap between that rank value and the next rank value.

If you don’t want such gaps, use the DENSE_RANK() function instead, as it returns the rank without gaps.

Read more

Understanding the PERCENTILE_DISC() Function in SQL Server

In SQL Server, PERCENTILE_DISC() is a window function that returns a percentile value based on a discrete distribution of the input column. Basically, it returns the first value in the set whose ordered position is the same or more than the specified fraction.

The output of PERCENTILE_DISC() is equal to a specific column value (unlike the PERCENTILE_CONT() function, which could calculate a value that isn’t in the column).

When we call PERCENTILE_DISC() we specify the percentile to use. It then performs its calculation based on that percentile.

Read more

How to Use the LEAD() Function in SQL Server

In SQL Server, LEAD() is a window function that allows us to access a value from a later row in the same result set, without the need to perform a self-join.

We specify the row as an offset from the current row. An offset of 1 means it gets the value from the next row, an offset of 2 means two rows forward, and so on.

Read more