如何使用php对sql表中的数字数据进行排序

如何使用php对sql表中的数字数据进行排序,php,mysql,sql,sql-order-by,Php,Mysql,Sql,Sql Order By,我有5000行40列的数据。我想根据行中的第一列对数据进行排序,该列包含特定行的id值。id列中的值类似于1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 当我将SQL语句与order子句一起使用时,ORDERBYIDASC 数据以这种方式排序.1,1010010001001001003100410051006100710081009101.102103,… 但我希望数据按升序排列,如:1,2,3,4,5,6,7,8,9,10,11,12,13…. 声明如下: $resul

我有5000行40列的数据。我想根据行中的第一列对数据进行排序,该列包含特定行的id值。id列中的值类似于
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
当我将SQL语句与order子句一起使用时,
ORDERBYIDASC

数据以这种方式排序
.1,1010010001001001003100410051006100710081009101.102103,…

但我希望数据按升序排列,如:
1,2,3,4,5,6,7,8,9,10,11,12,13….

声明如下:
$result=mysql\u查询(“按id ASC从masterdb订单中选择*) 

如果您需要经常进行数值排序,您可能需要考虑将<<代码> ID>代码>列为数字类型。也就是说,一种解决方法是将
id
列强制转换为数字类型,然后使用以下方法进行排序:

SELECT *
FROM masterdb
ORDER BY CAST(id AS UNSIGNED)

您显示的查询代码将为您提供准确的输出:-
1,2,3,4,5,6,7,8,9,10,11,12,13………
只要您的id exact column是
id
或您的id不能是数字类型column id不是numericSELECT*,从masterdb ORDER BY cast(id为int)aschlore@kazz,我给出的coumn id是varchar,当我把它改为int时,它就起作用了。我想把我的id列为varchar,因为有时候我的id包含像TNDIDTNC120134,TNDIDTNC120135,TNDIDTNC120136这样的alPabe,还有数字id像1,2,3,4,5,6…在这种情况下,如何对开头的字母数字和结尾的数字进行排序。@sasi
id
列的格式是否总是字母后跟数字?此外,字母部分的宽度是否始终相同?更新您的问题,显示此列的完整内容。有时id是字符和数字,有时仅是数字。id的宽度总是这个长度ITNMWROCT1160010,但有时它小于这个长度,只有数值,如1,2,3,4,5,6,7,8,9,10,…100101102103…1000如果id的宽度总是某个长度,但有时小于某个长度,那么它并不总是某个长度。更新您的问题,并清楚地向我们显示
id
列可以接受的值的范围。值的范围是15,如果id是字母数字,如“itnmwroct1160010”,则所有字母数字项的长度都是固定的,如果它只是数字,如1,2,3,4,5,6,7,8。。。。