我有下表
CREATE TABLE test(
ID INT
);
有后续数据
我需要以下结果
ID Rank
100 1
100 2
105 1
105 2
105 3
我只需要使用普通的SQL查询就没有特殊功能
最佳答案
您可以在相关查询中使用rowid
以获得结果。由于rowid唯一地标识为行,因此我们可以在这种情况下使用它进行相关计数以分配行号。
试试这个:
select id, (
select count(*)
from test t2
where t.id = t2.id
and t2.rowid <= t.rowid
) rank
from test t;
关于sql - 在SQLite中对相同数据进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42143751/