0

私はこの形のテーブルを持っています

Name|Quantity|
Item1|600.2|
Item2|8.12|
Item3|78|
Item4|9.723|

ここで、すべての数量値はテキストです。

すべてのアイテムを降順で並べ替えたいので、これを試しました

Cursor c = mDb.rawQuery("SELECT *, CAST(myTableName.Quantity as FLOAT) as Quantity FROM myTableName ORDER BY Quantity desc", null);

しかし、結果はこれです

Item4|9.723|
Item2|8.12|
Item3|78|
Item1|600.2|

どうやらクエリでは、ドットは並べ替えで無視されます。

正しい子孫の並べ替えを取得するこの問題をどのように修正できますか?

4

1 に答える 1

3

スキーマを変更してに設定QuantityするかREALでキャストを使用できます。ORDER BY

SELECT * FROM myTableName ORDER BY CAST(Quantity AS REAL) DESC;

(SQLiteFLOATではと同じREALですが、どちらでも使用できます。)

于 2012-12-15T01:39:02.633 に答える