mysql - SQL 查询,按子字符串排序

标签 mysql sql select sql-order-by substring

我想根据 Substring 对 SQL 查询返回的结果进行排序。我正在使用 MYSQL 作为数据库。我试图获得两种不同的结果

Sample data
aaa ad aa
aaa ab
aaa ac

1) 首先我想根据第二个子串进行排序。

Result:
aaa ab
aaa ac
aaa ad aa

2) 其次,我想根据最后一个子字符串进行排序。

Result:
aaa ad aa
aaa ab
aaa ac

我怎样才能完成这些任务。

非常感谢您的帮助.. 问候

编辑 1:子字符串可以是任意长度。 同样对于第二种情况,我想根据最后一个子字符串进行排序。这意味着它可以在任何位置..

最佳答案

试试这个:

对于问题 1:

SELECT * FROM tableA
ORDER BY SUBSTRING_INDEX(SUBSTRING_INDEX(colName, ' ', 2), ' ', -1);

对于问题2:

SELECT * FROM tableA
ORDER BY SUBSTRING_INDEX(colName, ' ', -1);

关于mysql - SQL 查询,按子字符串排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20566181/

相关文章:

javascript - 验证 AngularJS 中的下拉菜单

PHP-Mysql 使用 Closure 表以分层结构存储和显示数据

sql - 如何将 .sql 文件导入 SQLite 3?

mysql - 异常sql错误

mysql - 在mysql中加入同一个表

c - *nix select 和 exceptfds/errorfds 语义

php - 通过函数传递数据库字段

mysql - 关于group by和intersection的sql问题

PHP 将数组元素添加到数据库不起作用

mysql - Sql 选择至少设置过一次列的位置