mysql - SQL 按升序/降序排序

标签 mysql sorting

我如何在 sql 中按 asc or desc order 对我的数据进行排序?

我正在使用:

ORDER BY DESC

但是我的数据不对。我的代码的数据如下:

AC1, AC2 ,AC3 ..., AC30,AC31

sql是按首字母排序的,不是数据的值,所以我的数据是这样排序的

AC10, AC11, AC12, AC13 ... AC19

下一行是:

AC20, AC21, AC22, AC23

我希望我的数据从第一个数字(AC1,AC2,AC3...)开始排序,而不是(AC1,AC10,AC11)

最佳答案

order by 工作正常。你的期望是错误的。字符串按字母顺序排序。

你可以很容易地得到你想要的。假设该列以两个字母开头,您可以:

order by char_length(col) desc, col desc

如果您希望默认排序起作用,则只需填充数字即可。 . . AC01AC02 等。

关于mysql - SQL 按升序/降序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003166/

相关文章:

mysql - MySQL 和 MariaDB 中使用 GROUP BY 和 ORDER BY 的不同结果集

根据元素的大小将元素分成几类的算法

bash - 是否有任何增量(交互式)shell 实用程序? IE。 "online"排序,wc 等

php - 扩展数据库类以从 MySql 获取结果

mysql - 使用删除按钮从数据库中永久删除行(laravel)

php - 显示数据库中的一行并移至下一列

c# - 订购字段信息

python - 使用Python从文件夹中按顺序读取多个excel文件

php - 按键值对 PHP 中的 JSON 对象进行排序

php - 在 POST 上检索名称作为变量