我的表格如下
CREATE TABLE test(
ID INT
);
使用以下数据
我需要以下结果
ID Rank
100 1
100 2
105 1
105 2
105 3
我只需要使用普通的SQL Query没有特殊功能
答案 0 :(得分:4)
您可以在相关查询中使用rowid
来获得结果。因为rowid唯一地标识为行,所以我们可以在我们的情况下使用它来进行相关计数以分配行号。
试试这个:
select id, (
select count(*)
from test t2
where t.id = t2.id
and t2.rowid <= t.rowid
) rank
from test t;