Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak przeszukiwać wiele kolumn z priorytetem w MySQL?

Może to być jedno z rozwiązań:

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;

Lub możesz osiągnąć to samo w następujący sposób:

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. Zwracanie JSON nie działa poprawnie

  2. Wybór MySQL według najnowszego znacznika czasu

  3. Uzyskaj wyniki zapytania dla zakresu dat

  4. Jaki silnik mysql do ogromnej ilości danych (logowania)?

  5. Unix znacznik czasu bigint(20)