Автоматический порядок по идентификатору в результате запроса MySQL

Я пытаюсь решить проблему. Когда я пишу запрос

SELECT ID, STOCK_ID, FILE_NAME FROM motor_images where STOCK_ID = 25

Это не сортирует мою запись. Это показывает случайный порядок. Я хочу отсортировать по идентификатору. Я также пробовал ключевое слово ORDER BY, но оно не работает. Пожалуйста помоги.

Результат запроса

1 ответ

Если ваш идентификатор не является автоматически сгенерированным int; он будет отсортирован по строкам, означающим 1,2,3...123, 124,125 и т. д., будет упорядочен как 1,123,124,125,2,3 и т. д.

что вам нужно сделать в этом случае, это использовать приведение Int

SELECT id, stock_id, file_name FROM motor_images WHERE stock_id = 25 ORDER BY CAST(id as UNSIGNED) 

Имейте в виду, что ПОДПИСАНО является целым числом; Читайте больше в документации MySQL по кастингу. Я могу ошибаться, но нет другой причины, по которой я мог бы подумать, что это привело бы к неправильному порядку идентификаторов. http://ftp.nchu.edu.tw/MySQL/doc/refman/5.0/en/cast-functions.html

Другие вопросы по тегам