我有一個數據庫,存儲一個項目的排名。 等級是一個絕對值,如果考慮到所有項目,這個值就是正確的。如何計算sqlite中特定行之前的行數?
如果我只需要一個子集說的這個項目4它會給我這樣的:
Rank RowId in the whole Table
---------------
4 114
8 71
70 16
83 7
我現在需要一個int僅在最大級別是項目數的子集指定秩在我的例子中的子集1,2,3,4。
有沒有辦法在我的sqlite查詢中實現這一點?我只需要我的活動中的一個等級。我想按排名排序查詢的結果,然後以某種方式獲得我想在那一刻排名的項目的位置。但是,我將如何與sqlite實現這一點?
我試圖創建一個臨時表,並插入子集分爲這樣的:
CREATE TABLE秩(ID); INSERT INTO從項目位置SELECT ID WHERE ITEM_ID = 3 ORDER BY POSITION; 從等級WHERE ID = 9的SELECT RowID; DROP TABLE rank;
這是在SQLite管理器中工作,並會返回正確的數字。但是,如果我這樣做在Android中的失敗,說沒有表列在編譯查詢
07-07 13:35:46.150: ERROR/AndroidRuntime(2047): Caused by: android.database.sqlite.SQLiteException: no such table: rank: , while compiling: SELECT RowID from rank WHERE ID = 9
你可以請張貼您的架構,樣本值,並希望看到預期的結果。 – Pentium10 2010-07-07 10:42:24