1
我有表如下在SQL精簡版在同一個數據排名
CREATE TABLE test(
ID INT
);
用以下數據
我需要以下結果
ID Rank
100 1
100 2
105 1
105 2
105 3
我只需要使用正常SQL查詢無特殊功能
我有表如下在SQL精簡版在同一個數據排名
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;
你能解釋你的答案嗎? – soundslikeodd
爲什麼沒有特殊的功能呢? –
我只能在SQL Lite中支持的函數 –