Автоматический порядок по идентификатору в результате запроса 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