編輯:我使用的 android 版本沒有 sqlite 版本> 2.35。我不能使用 ROW_NUMBER。
給定下表:
id, date(long)
1, 100
2, 25
3, 5
4, 50
如果我查詢排序的專案:
select * from items order by date:
id, date
3, 5
2, 25
4, 50
1, 100
如果我有 id 4,我可以查詢以獲取排序串列中的索引,在本例中為索引“3”
uj5u.com熱心網友回復:
帶ROW_NUMBER()視窗功能:
SELECT rn
FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY date DESC) rn
FROM items
)
WHERE id = 4;
對于 3.25.0 之前的 SQLite 版本,不支持視窗函式的替代方法:
SELECT COUNT(*) 1 rn
FROM items
WHERE date > (SELECT date FROM items WHERE id = 4);
請參閱演示。
uj5u.com熱心網友回復:
您可以使用ROW_NUMBER()根據自定義排序獲取行的位置。查詢可能如下所示:
select rn
from (
select t.*, row_number() over(order by date) as rn from t
) x
where id = 4
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493839.html
