2013-12-18 38 views
0

由於DB不具有創建日期及一些排序字段(但在我的觀察中的最後一行是最新的記錄),如何在android中的sqlite數據庫中獲得5最後的記錄?

憑什麼我得到的最後五個記錄在一定條件下如 五個記錄,他們的學校== 1?

感謝

public Cursor select() 
{ 
    String orderBy = FIELD_pubKey+" DESC"; 
    Cursor cursor = iReadDatabase.query(TABLE_NAME, null, null, null, null, null, orderBy); 
    cursor.moveToFirst(); 
    return cursor; 
} 
+0

您沒有行ID? – Gerifield

+0

通過自動生成的ID進行排序,從光標中獲取5或僅選擇5個 – ridvanzoro

回答

2

有作爲最後的記錄或第一或42沒有這樣的事情。

查詢結果中出現最後一個記錄取決於查詢計劃,或者顯式順序依據是否添加查詢。

選擇*從表格其中...... 行將以引擎認爲適合的任何順序返回。 如果您按特定順序需要它們,請在查詢中添加一個order by子句,其他任何內容都會詢問它。

喜歡的東西

Select * From Table Order by SomeColumn desc limit 5 

會做你所需要的。

現在你需要訂購什麼專欄,我不知道,但你需要一個能夠完成這項工作的人,假設自動主鍵,但請注意可能會混淆這一點。

+0

PS索引(已經有一個索引用於您訂購的列上的鍵)可以顯着提高性能。 –

相關問題