我有这样的桌子
id | name
----------
1 | A
2 | B
5 | C
100 | D
200 | E
201 | F
202 | G
我需要从 中对行进行排名1 to 3 order by id
,也就是说,我需要结果:
id | name | ranking
---------------------------
1 | A | 1
2 | B | 2
5 | C | 3
100 | D | 1
200 | E | 2
201 | F | 3
202 | G | 1
这个怎么做?
附言
我在尝试:
SELECT id, name, row_number() OVER( order by id RANGE BETWEEN 1 AND 3 ) AS ranking FROM t
这会产生语法错误。