php - 排序具有不同位数的MySQL数据

标签 php mysql

与使用标准时一样,我在使用 MySQL 进行排序时遇到了一些问题

ORDER BY c DESC 

它是这样排序的:

3
21
20
2

我希望它是这样的:

21
20
3
2

有什么办法可以不在个位数前加 0 吗?

最佳答案

将您的列从字符串(VARCHAR、TEXT 等)更改为数字列(DOUBLE、INT 等)。字符串将按字母顺序排序,3 在 2 之后。

或者,您可以转换它,但这会增加对查询的处理:

ORDER BY CAST(c AS INTEGER) DESC

关于php - 排序具有不同位数的MySQL数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8452590/

相关文章:

mysql - 有没有办法检查 MySQL 触发器中的查询是否返回空集?

php - YII 添加外键问题

php - 从查询生成 html 列表

php - Symfony2 : Unable to simulate HTTP authentication in functional test

sql - 在 MySQL 中创建外键产生错误 :

php - 从动态创建的字段中获取值并通过 Ajax 将它们发送到 PHP

javascript - 什么更有效率?在 javascript 或 php 中生成每个 tr?

php - 在特定时间停止或中断 php 脚本

Php/Mysql数据库日报

PHP MYSQL CREATE TABLE 问题