【问题标题】:MySQL descending order not Shorting Correctly in VarcharMySQL降序在Varchar中没有正确短路
【发布时间】:2014-05-10 16:30:13
【问题描述】:

我有一个表名测试。在那我必须对 Var-char 字段进行排序。但是当我尝试排序时,我得到了错误的输出。

我的桌子-

我的查询 -

select * from testtable order by test DESC;

我的输出 -

我想要什么,。

test
G450
G145
G56
G45
G4
G3

请帮助我得到这个输出。

【问题讨论】:

  • @Daniel 什么是排序规则,先生,我在哪里可以找到它?
  • Sagotharan 你可以在the manual找到它,但你的具体问题与排序规则无关。

标签: mysql


【解决方案1】:

如果您的格式始终是一个字母后跟一个整数,一个简单的方法是:

order by length(test) desc, test desc

即先按长度排序,再按字段排序。

【讨论】:

  • 它给出了可逆的结果。像 G3,G4,.... G450。我想要第一条记录为大数字
猜你喜欢
  • 1970-01-01
  • 2014-06-19
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 2016-09-30
  • 1970-01-01
  • 2019-04-20
  • 1970-01-01
相关资源
最近更新 更多