【问题标题】:SQL sorting by asc/ descSQL 按 asc/desc 排序
【发布时间】:2017-02-02 13:12:40
【问题描述】:

我如何在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) 排序

【问题讨论】:

  • 将“ac”与数字分开存储

标签: mysql sorting


【解决方案1】:

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

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

order by char_length(col) desc, col desc

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

【讨论】:

  • 抱歉 col 到底是什么?我是 sql 新手,我还没有学过。你介意给我解释一下吗?
  • @Kris 。 . .无论您要排序的列。您没有在问题中指定它。
  • 哦该死。谢谢,我以为你的意思是出于某种原因进行排序。
猜你喜欢
  • 2014-07-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 2015-03-05
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多