根據 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)
廣告