Mysql
 sql >> Base de données >  >> RDS >> Mysql

Trier les requêtes d'union dans MySQL

j'écrirais probablement la requête semblable à :

  select *, ((title like '%…%')*2 + (description like '%…%')) as rank
    from jobs
   where title like '%…%'
      or description like '%…%'
order by rank desc, time desc

de cette façon, les lignes où le titre et la description correspondent apparaîtront en premier, puis les correspondances de titre, puis les correspondances de description. je ne l'ai pas testé, mais généralement mysql fait du bon travail en convertissant bool en int (true :1, false :0)