Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 用于对列部分值进行排序的SQL查询_Mysql_Sql - Fatal编程技术网

Mysql 用于对列部分值进行排序的SQL查询

Mysql 用于对列部分值进行排序的SQL查询,mysql,sql,Mysql,Sql,我需要根据列的部分值进行排序 例如,我有一个带有列(代码、名称)的表employee。代码列值的格式为部门:SR_NO 我只需要对代码列的SR_NO值进行排序 上述场景只是实时场景的示例 如有任何建议,将不胜感激 谢谢,正则表达式,是的。您还可以执行类似于按右排序(Name,Len(Name)-Instr(Name,“:”)的操作,以拾取冒号右侧的所有字符并按其排序。正则表达式,是的。您还可以执行类似于orderbyright(Name,Len(Name)-Instr(Name,“:”)的操作,

我需要根据列的部分值进行排序

例如,我有一个带有列(代码、名称)的表employee。代码列值的格式为部门:SR_NO

我只需要对代码列的SR_NO值进行排序

上述场景只是实时场景的示例

如有任何建议,将不胜感激


谢谢,正则表达式,是的。您还可以执行类似于按右排序(Name,Len(Name)-Instr(Name,“:”)的操作,以拾取冒号右侧的所有字符并按其排序。

正则表达式,是的。您还可以执行类似于
orderbyright(Name,Len(Name)-Instr(Name,“:”)
的操作,以拾取冒号右侧的所有字符并按其排序。

我建议您将表中的列拆分为两列。然后,查询就很容易了。
SR\u NO
应该是数字吗?Ya DEPT是字母表,SR\u NO是数字表。我建议您将表中的列拆分为两列。然后,查询就很简单了。
SR\u NO
应该是数字吗?Ya DEPT是字母表,SR\u NO是数字表。谢谢,伙计,这很有帮助。我最后还是这样使用它:通过子字符串_INDEX(代码“:”,-1)从员工订单中选择*谢谢,伙计,这很有帮助。我最后使用它是这样的:通过子字符串_INDEX(代码“:”,-1)从EMPLOYEE ORDER中选择*
SELECT  SUBSTRING_INDEX(code, ':', 1) AS dept
        SUBSTRING_INDEX(code, ':', -1) AS sr_no
FROM    mytable
ORDER BY
        sr_no