2012-02-28 8 views
1

私のAndroidアプリは、列の1つがタイムスタンプであるsqliteテーブルを使用します。私はテーブルをX最近の行に切り捨てる必要があります。つまり、テーブルをX行に切り捨てる必要があります。この場合、切り捨てられたすべての行は、残りのX行よりも古いタイムスタンプを持ちます。このテーブルを切り捨てる最も効率的な方法は何ですか?

SQL(ite)文だけでこれを行うことはできますか?私が考えることができる唯一の方法は、テーブルを解析するために多くのJavaコードが必要です。事前に

おかげで...

答えて

1

あなたはサブクエリ(警告:未テスト)でこれを行うことができるはずです。たとえば、X==10の場合、

delete from table 
where timestamp< 
    (select timestamp from table 
    order by timestamp desc limit 1 offset 10 
); 
+1

<へ<=に変更するだけで動作しますが、動作します。ありがとう! –

関連する問題