PERCENT_RANK() - Rank Percentage of Sorted Values

Q

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

✍: FYIcenter.com

A

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

SELECT help_topic_id AS tic, help_category_id AS cid,
  CUME_DIST() OVER w, PERCENT_RANK() OVER w
  FROM mysql.help_topic
  WINDOW w AS (ORDER BY help_category_id);
  -- +-----+-----+----------------------+-----------------------+
  -- | tic | cid | CUME_DIST() OVER w   | PERCENT_RANK() OVER w |
  -- +-----+-----+----------------------+-----------------------+
  -- |   0 |   1 | 0.002932551319648094 |                     0 |
  -- |   1 |   1 | 0.002932551319648094 |                     0 |
  -- |   2 |   2 | 0.054252199413489736 |  0.002936857562408223 |
  -- |   6 |   2 | 0.054252199413489736 |  0.002936857562408223 |
  -- |   7 |   2 | 0.054252199413489736 |  0.002936857562408223 |
  -- |   8 |   2 | 0.054252199413489736 |  0.002936857562408223 |
  -- |   9 |   2 | 0.054252199413489736 |  0.002936857562408223 |
  -- |  10 |   2 | 0.054252199413489736 |  0.002936857562408223 |
  -- ...
  -- +-----+-----+----------------------+-----------------------+

Reference information of the PERCENT_RANK() function:

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

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

Related MySQL functions:

 

RANK() - Vale Rank of Sorted Values

NTILE() - Dividing Window into N Tiles

MySQL Functions on Result Set Windows

⇑⇑ MySQL Function References

2023-12-19, 224🔥, 0💬