【发布时间】:2023-01-21 09:36:33
【问题描述】:
我有下表
CREATE TABLE "results" (
"player" INTEGER,
"tournament" INTEGER,
"year" INTEGER,
"course" INTEGER,
"round" INTEGER,
"score" INTEGER,
);
对于单个 tournament / year / round-组合,使用以下数据示例。
1 33 2016 895 1 20
2 33 2016 895 1 10
3 33 2016 895 1 25
4 33 2016 895 1 28
7 33 2016 895 1 25
8 33 2016 895 1 17
9 33 2016 895 1 12
我想创建一个名为 ranking 的新列,代表特定 tournament / year / round 组合的玩家排名。得分最高的玩家是#1。如果玩家得分相同,则他们并列需要用“T”指定。
所需的输出如下所示:
1 33 2016 895 1 20 3
2 33 2016 895 1 12 T5
3 33 2016 895 1 25 T2
4 33 2016 895 1 28 1
7 33 2016 895 1 25 T2
8 33 2016 895 1 17 4
9 33 2016 895 1 12 T5
我怎样才能实现上述目标?谢谢
【问题讨论】:
标签: python sqlite count window-functions dense-rank