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

标签 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,.. ...100,101,102.......1000,1001..... 当我使用带有 order 子句的 SQL 语句时 ORDER by id ASC

数据以这种方式排序..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");

最佳答案

如果您希望经常按数字排序,您可能需要考虑将您的 id 列设为数字类型。话虽这么说,一种解决方法是将 id 列转换为数字类型,然后使用它进行排序:

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

关于php - 如何使用php对sql表中的数字数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42524044/

相关文章:

mysql - SQL - 替换 HAVING COUNT(*) == 0

MYSQL 5.5 删除主键

mysql - 子查询中存在的情况

php - 当数据库数据透视表 laravel 5 中的记录发生更改时发送通知

php - 在 Laravel 中使用 Eloquent 检索关系的关系

javascript - 使用AJAX切换页面,页面大量使用PHP

sql - 查询不返回任何内容

php - 如何使用 PHP 通过 JSON 发送 HTML 元素?

PHP - 页面(重新)加载后检查用户凭据

SQL 使用 Oracle SQL 对日历周期进行排序