ROW_NUMBER() - Row Position in Result Set Window

Q

How to obtain the row position of the current row in the current result set window using the ROW_NUMBER() function?

✍: FYIcenter.com

A

ROW_NUMBER(n) is a MySQL built-in window function that returns the row position of the current row in the current result set window. For example:

SELECT help_topic_id AS tic, help_category_id AS cid,
  ROW_NUMBER() OVER w, COUNT(name) OVER w
  FROM mysql.help_topic
  WINDOW w AS (PARTITION BY help_category_id);
  -- +-----+-----+---------------------+--------------------+
  -- | tic | cid | ROW_NUMBER() OVER w | COUNT(name) OVER w |
  -- +-----+-----+---------------------+--------------------+
  -- |   0 |   1 |                   1 |                  2 |
  -- |   1 |   1 |                   2 |                  2 |
  -- |   2 |   2 |                   1 |                 35 |
  -- |   6 |   2 |                   2 |                 35 |
  -- |   7 |   2 |                   3 |                 35 |
  -- |   8 |   2 |                   4 |                 35 |
  -- |   9 |   2 |                   5 |                 35 |
  -- ...
  -- +-----+-----+---------------------+--------------------+

Reference information of the ROW_NUMBER() function:

ROW_NUMBER(): pos
  Returns the row position of the current row in the current result set window.

Arguments, return value and availability:
  pos: Return value. The current row position in the current window.
  Available since MySQL 8.

 

MySQL Functions on JSON Values

RANK() - Vale Rank of Sorted Values

MySQL Functions on Result Set Windows

⇑⇑ MySQL Function References

2023-12-19, 211🔥, 0💬