我用下面的代碼獲取通知名單(共行21個):的Android SQLite的查詢與偏移不返回所需的行
List<Notification> list = new ArrayList<Notification>();
Cursor c = _db.query(TABLE_NAME, COL_ALL, null, null, null, null, order, get_limitStr(offset));
if(c != null && c.moveToFirst())
{
while(!c.isAfterLast())
{
Notification model = cursorToModel(c);
if(model != null)
{
list.add(model);
}
c.moveToNext();
}
c.close();
}
和偏移生成的查詢= 0是
SELECT Id, Token, Title, Read, Message, Image, CreateDate, CreateDateFA FROM Notifications ORDER BY CreateDate DESC LIMIT 20,0
和它的作品,因爲它是應該和返回20行,當我增加補償1(偏移= 1),它僅返回1行是正確的,但問題是當偏移量比較大1,那麼查詢將是
SELECT Id, Token, Title, Read, Message, Image, CreateDate, CreateDateFA FROM Notifications ORDER BY CreateDate DESC LIMIT 20,2
我認爲它應該跳過20 * 2行,然後開始從那裏取出行,這或者是我的想法或我的查詢是錯誤的。我在這裏做錯了什麼?由於
我不明白你想要什麼,但可以在這裏找到答案可能:http://sqlite.org/lang_select.html#limitoffset –
下面是你的一個明確的解釋:http://stackoverflow.com/questions/3325515/sqlite-limit-offset-query – trevor