sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Hur beställer man PER RELEVANS? INNODB Tabell

version 1:

SELECT max(id) id, name
  FROM cards
 WHERE name like '%John%'
 GROUP BY name
 ORDER BY CASE WHEN name like 'John %' THEN 0
               WHEN name like 'John%' THEN 1
               WHEN name like '% John%' THEN 2
               ELSE 3
          END, name

version 2:

SELECT max(id) id, name
  FROM cards
 WHERE name like '%John%'
 GROUP BY name
 ORDER BY CASE WHEN name like 'John%' THEN 0
               WHEN name like '% %John% %' THEN 1
               WHEN name like '%John' THEN 2
               ELSE 3
          END, name



  1. SQL SELECT för att få de första N positiva heltalen

  2. Vad är primär nyckelbegränsning i SQL Server Database - SQL Server / T-SQL självstudie del 54

  3. Hur kontrollerar jag NLS_LANG för klienten?

  4. Dåliga vanor :Räkna rader den hårda vägen