Computer >> Máy Tính >  >> Lập trình >> MySQL

Nhiều toán tử LIKE với ORDER BY trong MySQL?

Sau đây là cú pháp triển khai nhiều toán tử LIKE với ORDER BY -

 select * from yourTableNameorder by (yourColumnName like '% yourValue1%') + (yourColumnName like '% yourValue2%') + .. Ndesc; 

Hãy để chúng tôi tạo một bảng -

 mysql> tạo bảng demo2−> (-> id int not null auto_increment, -> name varchar (100), -> khóa chính (id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (1,53 giây)  

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

 mysql> chèn vào các giá trị demo2 (name) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây) mysql> chèn vào các giá trị demo2 (name) ('David'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,09 giây) mysql> chèn vào các giá trị demo2 (tên) ('John Smith'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào các giá trị demo2 (tên) ('John Doe'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào các giá trị demo2 (tên) ('David Miller'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào các giá trị demo2 (tên) ('Chris'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,09 giây) mysql> chèn vào các giá trị demo2 (tên) ('Bob Doe'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,09 giây) 

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

 mysql> select * from demo2; 

Điều này sẽ tạo ra kết quả sau -

 + ---- + -------------- + | id | tên | + ---- + -------------- + | 1 | John || 2 | David || 3 | John Smith || 4 | John Doe || 5 | David Miller || 6 | Chris || 7 | Bob Doe | + ---- + -------------- + 7 hàng trong bộ (0,00 giây) 

Sau đây là truy vấn cho nhiều toán tử LIKE -

 mysql> select * from demo2−> order by−> (-> tên như '% Doe%' ->) -> + -> (-> tên như '% David%' ->) desc;  

Điều này sẽ tạo ra kết quả sau -

 + ---- + -------------- + | id | tên | + ---- + -------------- + | 2 | David || 4 | John Doe || 5 | David Miller || 7 | Bob Doe || 1 | John || 3 | John Smith || 6 | Chris | + ---- + -------------- + 7 hàng được thiết lập (0,00 giây)