How To Efficiently Assign A Database Temporary Ranking Of Values To Rows via DENSE_RANK()
Description: This application is an example of assigning a database temporary ranking of values to rows via the window function, DENSE_RANK()
. In comparison with the RANK()
window function, DENSE_RANK()
avoid gaps within partition. This window function is available in almost all databases, and starting with version 8.x is available in MySQL as well.
Key points:
- commonly, you don't need to fetch in the result set the temporary ranking of values produced by
DENSE_RANK()
(you will use it internally, in the query, usually in theWHERE
clause and CTEs), but, this time, let's write a Spring projection (DTO) that contains a getter for the column generated byDENSE_RANK()
as well - write several native querys relying on
DENSE_RANK()
window function