Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tìm kiếm nhiều cột với mức độ ưu tiên trong MySQL?

Nó có thể là một trong những giải pháp:

SELECT id, desc, abbreviation, etc FROM
( 
   SELECT 1 AS rnk,  id, title as 'desc' , abbreviation , etc FROM shows 
   WHERE abbreviation LIKE '%".$term."%'
   UNION 
   SELECT 2 AS rnk,  id, title as 'desc' , abbreviation , etc FROM shows 
   WHERE title LIKE '%".$term."%' 
) tab
ORDER BY rnk
LIMIT 10;

Hoặc bạn có thể đạt được điều tương tự bằng cách sau:

SELECT  id, desc, abbreviation, etc FROM
(
    SELECT CASE WHEN abbreviation LIKE '%".$term."%' THEN 1 ELSE 2 END As rnk,
    id, title AS desc, abbreviation, etc 
    FROM shows 
    WHERE abbreviation LIKE '%".$term."%' 
    OR title LIKE '%".$term."%' 
) tab
 ORDER BY rnk
 LIMIT 10;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gặp lỗi khi sử dụng hàm mysqli_escape_string

  2. PHP:Lấy hình ảnh từ MySQL bằng PDO

  3. Tối ưu hóa MySQL ORDER BY trên một phép tính được chia sẻ với WHERE

  4. Vi phạm ràng buộc toàn vẹn:1452 laravel

  5. Tạo cơ sở dữ liệu MySQL với tệp .SQL