我的数据有 5000行,有40列。我想根据行中的第一列对数据进行排序,其中包含特定行的 id 值。 id 列中的值类似于1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,.....100,101,102.....1000,1001.....
当我使用带有子句ORDER by id ASC
的SQL语句时。
数据以这种方式排序..1,10,100,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,101.102,103,........
但我希望数据按升序排列,如:1,2,3,4,5,6,7,8,9,10,11,12,13.....
这是声明:
$result = mysql_query("SELECT * FROM masterdb ORDER BY id ASC");
答案 0 :(得分:2)
如果您希望经常按数字排序,可能需要考虑将id
列设为数字类型。话虽如此,一种解决方法是将id
列转换为数字类型,然后使用它进行排序:
SELECT *
FROM masterdb
ORDER BY CAST(id AS UNSIGNED)