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

问题描述 投票:-1回答:1

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

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

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

Query Result

mysql sorting record keyword
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.