2016-05-16 13 views
0

amountというカラムから最大の値を取得したいが、クエリでMAXを使用しようとしたが、最大の値を得られなかった。カラムから最大値を取得

SQLクエリ:

SELECT MAX(amount) FROM games; 

マイテーブル(Amount列):

+--------+ 
| amount | 
+--------+ 
| 10  | 
| 100 | 
| 1  | 
| 50  | 
| 954 | 
| 5  | 
| 1000 | 
| 90000 | 
| 7  | 
| 10  | 
+--------+ 

出力:

+-------------+ 
| MAX(amount) | 
+-------------+ 
| 954   | 
+-------------+ 

それは、最大値が可能になっていない理由はあります?

+6

'Amount'の列データ型は数値ですか? –

+1

私は 'いいえ'と思っています。 – Strawberry

+0

ああ、おそらくそれをチェックすべきです。私はDBを作っていないので、私はそれを仮定しました。 – bwfcwalshy

答えて

4

コメントで述べたように、タイプはおそらく正しくないでしょう。

SELECT MAX(CONVERT(amount, SIGNED)) FROM games; 
+0

これは正しいです、@Denis Legerさん、ありがとう、CONVERT(金額、署名)が正確に何を教えていただけますか? – bwfcwalshy

+1

は署名入りの番号に変換されますが、ここでGoogleを使用することができます。 – strangeqargo

+0

ここにすべての詳細があります:http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html#function_convert –

0

それが原因で、データベース内のフィールドタイプのものである:

は、それは問題がある場合、MySQLを使用して直接変換することができます参照してください。列の型がint型などの数値型であれば、MAX関数は正常に動作します。そうでなければ、他のソリューションを使用します。

関連する問題