0

プラットフォーム: Android上のSQLite。

問題:テーブルには、id、title、orderの3つの列があります。テーブル内のデータには、いくつかの「重複した」注文レコードがあります。たとえば、注文が「3」のレコードが2つあります(以下の例)。注文値にも「穴」があります。たとえば、注文値「2」はありません。

テーブルの例とそれをプルするために選択します:*テーブルから_id、title、orderを順番に選択します; *

_id         TITLE      ORDER    
----------  ----------  ----------
5           First        0         
19          Second       1         
1           Third        3         
4           Fourth       3         
3           Fifth        5         
16          Sixt         7        

必要とされていること?テーブル内の現在のレコードを更新して、可能な限り保持しながら、ORDER列の値を「リセット」する方法はありますか。更新後に最適となる可能性のある結果は次のとおりです。

_id         TITLE      ORDER    
----------  ----------  ----------
5           First        0         
19          Second       1         
1           Third        2         
4           Fourth       3         
3           Fifth        4         
16          Sixt         5        

Androidで実行されているSQLiteでこれを行う方法を知っている人はいますか?これがOracleとSQLServerの場合、#tempテーブルまたはカーソルを使用できますが、ここでは...?

4

1 に答える 1

0

より良い解決策があるかもしれませんが、私は単にそれらを選択して、必要な順序で配列に保存します。次に、forループでループスルーし、forループイテレーター値を使用して各レコードのORDERフィールドを更新できます。

于 2012-06-18T21:18:29.657 に答える