我如何在 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
如果您希望默认排序起作用,则只需填充数字即可。 . . AC01
、AC02
等。
关于mysql - SQL 按升序/降序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003166/