Я не уверен, что вы просите.«Номер строки в группе точек» - это прямолинейное оконная функция приложения, но я не знаю, что означает «массив идентификаторов».
Дана такая дата:
id | player_id | game_id | points
----+-----------+---------+--------
1 | 1 | 1 | 0
2 | 1 | 2 | 1
3 | 1 | 3 | 5
4 | 2 | 1 | 1
5 | 2 | 2 | 0
6 | 2 | 3 | 0
7 | 3 | 1 | 2
8 | 3 | 2 | 3
9 | 3 | 3 | 1
Вы можете получить рейтинг для каждой игры с этим:
select game_id, player_id, points,
rank() over (partition by game_id order by points desc)
from players
Это даст вам такой результат:
game_id | player_id | points | rank
---------+-----------+--------+------
1 | 3 | 2 | 1
1 | 2 | 1 | 2
1 | 1 | 0 | 3
2 | 3 | 3 | 1
2 | 1 | 1 | 2
2 | 2 | 0 | 3
3 | 1 | 5 | 1
3 | 3 | 1 | 2
3 | 2 | 0 | 3