2014-01-05 3 views
-1

У меня есть проблема с сортировкой MySQL, так что если кто-то может помочь мне решить эту проблему я буду так счастлива, прежде чем я не понимаю, это вообщеMysql не сортировать правильное значение

weird info

enter image description here

+0

Поскольку тип столбца является varchar, он использует буквенное упорядочение, которое не похоже на числовое упорядочение вообще. Кто-то еще может рассказать вам, как сделать его сортировкой как числа, или вы можете разбить столбец на две части: число и суффикс (T, W). Вы также можете сделать суффикс перечислением в этом случае. – Njol

ответ

2

Попробуйте сделать это:

ORDER BY (best_feralhog + 0.0) 

Он сортирует численно, но он будет игнорировать суффикс буквы.

+0

yeahoo ... мой головной убор пропал спасибо за помощь в решении ORDER BY sum + 0.0 DESC LIMIT – user3162273

+0

Добро пожаловать в Stack Overflow. Подумайте о том, чтобы установить флажок, чтобы принять наилучший ответ/правильный ответ, который вам помог. Это позволяет вашему вопросу помогать другим пользователям. –

1

Сортировка: по релевантности.

Это варчар (10). Они сортируются с использованием сравнения строк. Строка «1000» меньше, чем строка «999», потому что первый символ первой строки «1» меньше первого символа второй строки «9».

Если это цифры, вы должны хранить их как таковые в базе данных. Рассмотрим использование десятичного типа.

Если вам действительно нужно хранить как varchar, вам необходимо будет преобразовать значения в десятичные значения перед сортировкой.

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