根据 MySQL 中的子字符串位置对搜索结果进行排序
要根据子字符串位置对搜索结果进行排序,请使用 ORDER BY LOCATE()。我们首先创建一个表——
mysql> create table DemoTable1838 ( Subject varchar(100) ); Query OK, 0 rows affected (0.00 sec)
使用 insert 命令向表中插入一些记录——
mysql> insert into DemoTable1838 values('MongoDB MySQL'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1838 values('MySQL Java'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1838 values('JavaWithMySQL'); Query OK, 1 row affected (0.00 sec)
使用 select 语句从表中显示所有记录——
mysql> select * from DemoTable1838;
这将产生以下输出——
+---------------+ | Subject | +---------------+ | MongoDB MySQL | | MySQL Java | | JavaWithMySQL | +---------------+ 3 rows in set (0.00 sec)
以下是对搜索结果按子字符串位置进行排序的查询
mysql> select * from DemoTable1838 where Subject LIKE '%MySQL%' ORDER BY LOCATE('MySQL', Subject);
这将产生以下输出——
+---------------+ | Subject | +---------------+ | MySQL Java | | MongoDB MySQL | | JavaWithMySQL | +---------------+ 3 rows in set (0.00 sec)
广告