2011-07-19 51 views
1

刪除查詢我需要你的幫助,我開始與Android數據庫和我有更新豆蔻問題/問題我的表(也許是一個愚蠢的問題,但對我來說很難):SQLite的Android中

我有一個關於視頻的信息表,其中一列是識別視頻的年齡的時間戳。 我想刪除具有更高時間戳的前10位以外的所有行。

如果表名是表和(重要)行是KEY_ID和KEY_TIMESTAMP:

我如何Concat的的QUERY1:

SELECT KEY_ID FROM TABLE ORDER BY KEY_TIMESTAMP ASC LIMIT (## dont know what to put here ##) 

與查詢

DELETE FROM TABLE WHERE KEY_ID = query1 

在Android的SQLite代碼?我應該在##之間插入什麼## ##

+0

http://stackoverflow.com/questions/6745496/how-can-i-limit-the-number-of-rows-in-android-sqlite-table/6745571 #6745571 –

回答

2

嘗試使用DELETE FROM與嵌套的SELECT。

未測試:

DELETE 
FROM TABLE 
WHERE KEY_ID NOT IN 
(
    SELECT TOP 10 KEY_ID 
     FROM TABLE 
     ORDER BY KEY_TIMESTAMP ASC 
     LIMIT 10 
) 
+0

哦,這是更好的解決方案!非常感謝!你能解釋我如何在android中連接兩個查詢嗎? – Polugern

+0

不太確定你的意思是連接。我提供的查詢應該具有您正在解釋的功能,而無需向其添加任何其他內容。 –

+0

我的意思是:db.delete(TABLE,KEY_ID +「NOT IN」+ ## something ##)還是應該使用execSQL(String sql)?謝謝 – Polugern