2016-05-16 2 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

Используется ли тип данных столбца «Сумма»? –

+1

Я угадываю «нет». – Strawberry

+0

А, наверное, следовало бы проверить это. Я не делал db, поэтому я просто предположил. – bwfcwalshy

ответ

4

Как указано в комментариях, тип, вероятно, неверен.

Чтобы увидеть, если это проблема, вы можете конвертировать непосредственно с помощью MySQL:

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

Это правильно, спасибо @Denis Leger, вы не возражаете сказать мне, что делает КОНВЕРТ (сумма, ПОДПИСАНО)? – bwfcwalshy

+1

конвертировать в подписанный номер, я думаю, вы можете использовать Google здесь. – strangeqargo

+0

у вас есть все подробности здесь: http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html#function_convert –

0

это из-за типа поля в базе данных. если тип столбца является числовым типом типа int или etc, функция MAX работает нормально, иначе вы будете использовать другие решения.

Смежные вопросы