1

Android sqlite の ORDER BY に問題があります。

このクエリを使用してリストビューを並べ替えています:

Select * From tbl_name ORDER BY WithOrder asc

WithOrder は整数型の列です。私が期待していた予想される動作は、sqlite が行を ....8,9,10,11,12.... のように並べ替えるというものでしたが、代わりに ....10 のように最初の桁に従ってリストを並べ替えています。 ,11,8,9....

整数値の昇順でテーブルを並べ替えるのを手伝ってください...ユーザーがリストを並べ替えるとき、一般的な計算で WithOrder に大きく依存しているため、他の列またはデータ型を並べ替えることができません。

ありがとう!

パルバス・バスカー

4

3 に答える 3

4

数値は数値に従ってソートされますが、文字列は最初の文字から辞書式にソートされます。特に、文字1は文字よりも小さい8ため、1(などの11)で始まる文字列は、。で始まる文字列の前にソートされ8ます。

WithOrder列のタイプが。になるようにテーブルを再作成しますINTEGER

于 2013-02-18T08:36:58.247 に答える
1
Cursor c =  SQLiteDatabase_OBJ.query("Table_name", null, null, null, null, null, "WithOrder ASC");

これを試して

于 2013-02-18T07:44:15.110 に答える