Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да търсите няколко колони с приоритет в MySQL?

Може да е едно от решенията:

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;

Или можете да постигнете същото чрез следното:

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. LOAD_FILE връща NULL

  2. Wildfly 8.0.0 mysql проблеми с източник на данни

  3. MySQL - Вземете първите 3 стойности, разделени със запетая

  4. Проблем с Mysql с WHERE в клауза

  5. ПРЕДУПРЕЖДЕНИЕ SqlExceptionHelper:143 - SQL грешка:0, SQLState:08S01- SqlExceptionHelper:144 - Неизправност на комуникационната връзка