我试图解决问题。当我写一个查询
SELECT ID, STOCK_ID, FILE_NAME FROM motor_images where STOCK_ID = 25
它没有对我的记录进行排序。它显示随机顺序。我想根据ID对其进行排序。我也尝试过ORDER BY关键字,但它不起作用。请帮忙。
答案 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