在mySQL查询结果中按ID自动排序

时间:2018-02-28 19:06:06

标签: mysql sorting record keyword

我试图解决问题。当我写一个查询

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

它没有对我的记录进行排序。它显示随机顺序。我想根据ID对其进行排序。我也尝试过ORDER BY关键字,但它不起作用。请帮忙。

Query Result

1 个答案:

答案 0 :(得分:0)

如果你的id不是自动生成的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) 

请记住UNSIGNED是一个整数;在关于强制转换的mysql文档中阅读更多内容。我可能是错的,但没有其他原因我能想到会导致id无法正确排序。 http://ftp.nchu.edu.tw/MySQL/doc/refman/5.0/en/cast-functions.html#function_cast