Php 对字母数字字符串中的中间和最后三个数字进行排序
我在MySQL数据库中存储了以下模式字符串:Php 对字母数字字符串中的中间和最后三个数字进行排序,php,mysql,sorting,Php,Mysql,Sorting,我在MySQL数据库中存储了以下模式字符串: Pattern: 1AB23CD456 在对最后三个数字进行排序之前,我想对AB和CD之间的中间数字进行排序 对于最后三个数字的排序,我有以下代码 SELECT * FROM Table1 ORDER BY RIGHT(pattern,3) 电流输出: +------------+ | 1aa22aa101 | | 1bb33bb101 | | 1cc44cc101 | | 1dd11dd101 | +------------+
Pattern: 1AB23CD456
在对最后三个数字进行排序之前,我想对AB
和CD
之间的中间数字进行排序
对于最后三个数字的排序,我有以下代码
SELECT * FROM Table1 ORDER BY RIGHT(pattern,3)
电流输出:
+------------+
| 1aa22aa101 |
| 1bb33bb101 |
| 1cc44cc101 |
| 1dd11dd101 |
+------------+
预期产出:
+------------+
| 1cc44cc101 |
| 1bb33bb101 |
| 1aa22aa101 |
| 1dd11dd101 |
+------------+
注意:我想按描述顺序对中间两个数字进行排序。这里有一种方法:
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;
以下是一种执行此操作的方法:
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;
以下是一种执行此操作的方法:
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;
以下是一种执行此操作的方法:
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;
我认为这应该奏效:
SELECT * FROM Table1 ORDER BY substring(pattern,4,2) desc, RIGHT(pattern,3)
我认为这应该奏效:
SELECT * FROM Table1 ORDER BY substring(pattern,4,2) desc, RIGHT(pattern,3)
我认为这应该奏效:
SELECT * FROM Table1 ORDER BY substring(pattern,4,2) desc, RIGHT(pattern,3)
我认为这应该奏效:
SELECT * FROM Table1 ORDER BY substring(pattern,4,2) desc, RIGHT(pattern,3)
ab和cd出现的位置是否相同?否,ab和cd可以是任何字符组合。您是否可以更新相关样本数据集以显示不同的出现,现在它看起来和康斯坦特威尔一样ab和cd的组合ab和cd之间总是两位数?数字和字符位置在模式中是相同的每个字符可以是:a-z每个数字可以是:0-9位置对于ab和cd的出现是相同的?否,ab和cd可以是任何字符组合。您是否可以更新相关的示例数据集,以显示不同的匹配项,现在它看起来和康斯坦特威尔一样ab和cd的组合ab和cd之间总是两位数?数字和字符位置在模式中是相同的每个字符可以是:a-z每个数字可以是:0-9位置对于ab和cd的出现是相同的?否,ab和cd可以是任何字符组合。您是否可以更新相关的示例数据集,以显示不同的匹配项,现在它看起来和康斯坦特威尔一样ab和cd的组合ab和cd之间总是两位数?数字和字符位置在模式中是相同的每个字符可以是:a-z每个数字可以是:0-9位置对于ab和cd的出现是相同的?否,ab和cd可以是任何字符组合。您是否可以更新相关的示例数据集,以显示不同的匹配项,现在它看起来和康斯坦特威尔一样ab和cd的组合ab和cd之间总是两位数?数字和字符位置在模式中是相同的每个字符可以是:a-z每个数字可以是:0-9ab和cd可以是任意两个字符combination@hsaka当前位置你的问题不清楚,我只是想警告一下这种模糊性,答案仍然是“正确的”:)ab和cd可以是任意两个字符combination@hsaka:你的问题不清楚,我只是想警告一下这种模糊性,答案仍然是“正确的”:)ab和cd可以是任意两个字符combination@hsaka当前位置你的问题不清楚,我只是想警告一下这种模糊性,答案仍然是“正确的”:)ab和cd可以是任意两个字符combination@hsaka:你的问题不清楚,我只是想警告一下这种模糊性,答案仍然是“正确的”: