如何在asc or desc order
中的sql中对数据进行排序?
我正在使用:
ORDER BY DESC
但我的数据不符合规定。我的代码的数据如下:
AC1, AC2 ,AC3 ..., AC30,AC31
sql按照第一个字母而不是数据的值对数据进行排序,这样我的数据就像这样排序
AC10, AC11, AC12, AC13 ... AC19
接下来将是:
AC20, AC21, AC22, AC23
我希望我的数据从第一个数字(AC1,AC2,AC3...)
开始,而不是(AC1,AC10,AC11)
答案 0 :(得分:5)
order by
正常运作。你的期望是错误的。字符串按字母顺序排序。
您可以轻松获得所需内容。假设列以两个字母开头,您可以这样做:
order by char_length(col) desc, col desc
如果您希望默认排序起作用,则只需填充数字。 。 。 AC01
,AC02
等等。