SELECT * FROM `my_table`
WHERE 1
GROUP BY `my_field`
ORDER BY `my_field` ASC
+++++++++++++++++
+ name + use +
+++++++++++++++++
+ ola + 1288 +
+ masha + 1412 +
+ lera + 175 +
+ lena + 185 +
+ liza + 274 +
+ katya + 3 +
+ sveta + 407 +
+ irina + 556 +
+++++++++++++++++
Делаю запрос к таблице, поле которое я упорядочил по возрастанию УПОРЯДОЧИВАЕТСЯ, но тип ячейки текстовый, а внутри цифры. Ест-но логично изменить тип поля на int и нет проблем. Но, в моем случае, нельзя менять тип поля.
Прошу объяснить, как написать запрос, что бы сортировка была как будь то бы тип полей числовой, и поле сортировалось исходя из этого
+++++++++++++++++
+ name + use +
+++++++++++++++++
+ katya + 3 +
+ lera + 175 +
+ lena + 185 +
+ liza + 274 +
+ sveta + 407 +
+ irina + 556 +
+ ola + 1288 +
+ masha + 1412 +
+++++++++++++++++
p.s. за название темы извиняюсь, не смог ни чего лучше придумать
ORDER BY CONVERT(`my_field`, SIGNED INTEGER)
или
ORDER BY CONVERT(`my_field`, UNSIGNED INTEGER)
Используйте преобразование типа в ORDER BY для необходимой сортировки.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей