2012-01-16 13 views
1

私はidtitlepriceフィールドのテーブルを持っています。"価格順"は、

例情報:

ID || Title || Price 
1 - Title 1 - 8.00 
2 - Title 2 - 75.00 
3 - Title 3 - 70.00 

私はORDER BY priceにしようとすると、それは次のように戻ってくる:

8.00 
75.00 
70.00 

声明:

$query = mysql_query("Select * From table ORDER BY price DESC"); 

私が間違って何をしているのですか?

+0

実際のデータとコードを表示することはできますか?私はそれが問題であり、クエリーではないと考えています。 – Jivings

+3

'Price'列のデータ型は何ですか?可能であれば、 'SHOW COLUMNS FROM <問題のテーブル>;の出力を投稿してください。 – zrvan

+0

私の推測では、MySQLデータベースの' price'カラムは 'varchar'または' text'です。 'int'か何かに変更してみてください。 – sooper

答えて

8

priceの列の数値型ではなく、CHAR() or VARCHAR()の型を指定する必要があります。 ORDER BYDECIMALとしてキャスト:

Select * From table ORDER BY CAST(price AS DECIMAL(10,2)) DESC 

このため、実際の修正が適切な数値型にpriceデータ型を変更することであろう。