我将以下模式字符串存储在MySQL数据库中:

Pattern: 1AB23CD456

我想对ABCD之间的中间数字进行排序,然后再对最后三个数字进行排序。

为了对最后三个数字进行排序,我有以下代码

SELECT * FROM Table1 ORDER BY RIGHT(pattern,3)

电流输出:

+------------+
| 1aa22aa101 |   
| 1bb33bb101 |   
| 1cc44cc101 |   
| 1dd11dd101 |
+------------+

预期产量:

+------------+
| 1cc44cc101 |   
| 1bb33bb101 |   
| 1aa22aa101 |   
| 1dd11dd101 |
+------------+

注意:我想按DESC顺序对中间两个数字进行排序。

===============>>#1 票数:2 已采纳

我认为这应该工作:

SELECT * FROM Table1 ORDER BY substring(pattern,4,2) desc, RIGHT(pattern,3)

===============>>#2 票数:1

这是执行此操作的一种方法:

order by substring_index(col, 'ab', 2) + 0 DESC

这实际上并不寻找'cd' 取而代之的是,它只接受'ab'之后的数字。 这是使用MySQL的一种称为静默转换的功能,该功能将字符串转换为数字而不会产生错误。 它只是转换前导数字。

要按此排序,然后按最后三个数字排序:

order by substring_index(col, 'ab', 2) + 0 DESC,
         right(col, 3) + 0;

  ask by Akash Sharma translate from so

未解决问题?本站智能推荐:

2回复

PHP MySQL-订购字母和数字字符串

我有以下数据: 当ORDERING在MySQL问题的数据是,正确地,带来了上面的顺序把这些数据。 但是,仍然存在(不更改数据,您可以按Numeric顺序对其进行排序吗? 谢谢!
2回复

用字母对数字字符串进行排序[关闭]

我有诸如 当我要按此顺序排序时: 这是我的代码: 有任何想法吗?
2回复

带字母数字字符串的MySQL排序问题

我有一个购买的数据库,其中包含非零填充的字母数字高尔夫球场“数字”,例如ZZ-1,ZZ-2,ZZ-9,ZZ-10 ... 我需要编写一个查询,该查询将提取在字符串上使用的MAX数值和MAX而不是DWIM并将ZZ-9排序为MAX而不是ZZ-10。 仅选择数字时同样的问题: 有
3回复

如何对MYSQL查询进行排序以按字母顺序显示,最后一个数字,并且不包括单词“ The”

基本上我有一个PHP MYSQL查询,该查询返回16个项目。 其中15个以字母AZ开头,一个以数字开头(产品名称为“ 3d Star Gazer”)。 在常规查询中,排序按字母顺序显示此项目,该项目首先从数字开始。 我希望列表按字母顺序排序,最后显示3d Star Gazer。 这可
2回复

如何在MYSQL中对字母数字字符进行排序

我在MySQL DB专栏中有字母数字值; 比方说主题。 其值如下: 在TOPIC上应用排序时; 它给定的顺序为C1,C10,....我正在寻找的排序顺序为C1, C2, C3, .... C13... P1, P2, ..... P13 有没有实现相同功能的MySQL功能?
1回复

排序字符串数字

我有一列varchar类型,可存储许多不同的数字。 比如说看图片 它应该简称为 12-1 12-13 12-105 12-127 12-168 谢谢
2回复

通过数字部分排序字母数字字符串的SQL

我有一个MySQL表,其中的VARCHAR列包含如下值: 有什么方法可以在MySQL中按数字部分对其进行排序: 代替 ? 澄清数据值 典型值为mir-1,mir-14,mir-193,最高值为mir-4987。 为简化起见,让我们假设所有内容都以“ mir-
2回复

如何在mysql中对字母数字数据进行排序?

首先,我想指出我几乎尝试过所有事情。 我从最近8个小时开始尝试按顺序列出我的列表,并且我已经应用了这里找到的十几个解决方案。 这是SQL Fiddle的示例数据。 我找到了一个能够按正确的顺序对列表进行排序的页面 ,即: 但我无法使用MySQL重现这一点。 我会感激任何帮
2回复

在PHP中订购带和不带数字的字符串

嘿,我有一个排序问题。 我有行: 32 16 8 半决赛 决赛 我需要这样排序。 问题在于它们并不总是按该顺序出现。 现在,我正在使用: ORDER BY ABS(roundOf) DESC ,结果如下: 32 16
2回复

如何对也包含数字的数字字符串数组进行排序。 (自然排序)在PHP中

如何对也包含数字的字符串数组进行排序。 例如,我已经使用glob()函数来获取文件名列表。 默认情况下,数组以升序输出文件,但分别读取每个数字字符而不是整数。 默认输出 所需输出 有执行此功能的PHP函数吗? 非常感谢