MySQL 中的多个 LIKE 运算符和 ORDER BY?
以下是对多个 LIKE 操作符使用 ORDER BY 的语法实现:
select *from yourTableName order by ( yourColumnName like '%yourValue1%' ) + ( yourColumnName like '%yourValue2%' ) + . . N desc;
我们来创建一个表:
mysql> create table demo2 −> ( −> id int not null auto_increment, −> name varchar(100), −> primary key(id) −> ); Query OK, 0 rows affected (1.53 sec)
使用 insert 命令插入一些记录到表中:
mysql> insert into demo2(name) values('John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into demo2(name) values('David');
Query OK, 1 row affected (0.09 sec)
mysql> insert into demo2(name) values('John Smith');
Query OK, 1 row affected (0.10 sec)
mysql> insert into demo2(name) values('John Doe');
Query OK, 1 row affected (0.11 sec)
mysql> insert into demo2(name) values('David Miller');
Query OK, 1 row affected (0.13 sec)
mysql> insert into demo2(name) values('Chris');
Query OK, 1 row affected (0.09 sec)
mysql> insert into demo2(name) values('Bob Doe');
Query OK, 1 row affected (0.09 sec)使用 select 语句从表中显示记录:
mysql> select *from demo2;
这将产生以下输出:
+----+--------------+ | id | name | +----+--------------+ | 1 | John | | 2 | David | | 3 | John Smith | | 4 | John Doe | | 5 | David Miller | | 6 | Chris | | 7 | Bob Doe | +----+--------------+ 7 rows in set (0.00 sec)
以下是多个 LIKE 操作符的查询:
mysql> select *from demo2 −> order by −> ( −> name like '%Doe%' −> ) −> + −> ( −> name like '%David%' −> ) desc;
这将产生以下输出:
+----+--------------+ | id | name | +----+--------------+ | 2 | David | | 4 | John Doe | | 5 | David Miller | | 7 | Bob Doe | | 1 | John | | 3 | John Smith | | 6 | Chris | +----+--------------+ 7 rows in set (0.00 sec)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP