RANK() - Vale Rank of Sorted Values

Q

How to calculate the value rank of the sorting field expression in the current result set window using the RANK() function?

✍: FYIcenter.com

A

RANK(n) is a MySQL built-in window function that calculates the value rank of the sorting field expression in the current result set window. For example:

SELECT help_topic_id AS tic, help_category_id AS cid,
  RANK() OVER w, DENSE_RANK() OVER w
  FROM mysql.help_topic
  WINDOW w AS (ORDER BY help_category_id);
  -- +-----+-----+---------------+---------------------+
  -- | tic | cid | RANK() OVER w | DENSE_RANK() OVER w |
  -- +-----+-----+---------------+---------------------+
  -- |   0 |   1 |             1 |                   1 |
  -- |   1 |   1 |             1 |                   1 |
  -- |   2 |   2 |             3 |                   2 |
  -- |   6 |   2 |             3 |                   2 |
  -- |   7 |   2 |             3 |                   2 |
  -- |   8 |   2 |             3 |                   2 |
  -- |   9 |   2 |             3 |                   2 |
  -- |  10 |   2 |             3 |                   2 |
  -- ...
  -- +-----+-----+---------------+---------------------+

Reference information of the RANK() function:

RANK(): val
  Calculates the value rank of the sorting field expression
  in the current result set window.

Arguments, return value and availability:
  val: Return value. The value of the sorting field.
  Available since MySQL 8.

Related MySQL functions:

 

ROW_NUMBER() - Row Position in Result Set Window

PERCENT_RANK() - Rank Percentage of Sorted Values

MySQL Functions on Result Set Windows

⇑⇑ MySQL Function References

2023-12-19, 223🔥, 0💬