webForumDet fria alternativet

Sortering

3 svar · 470 visningar · startad av Gaski

GaskiMedlem sedan juni 2000325 inlägg
#1

Har en sökning som nedan:

SELECT * FROM cwwl 
  WHERE active = '1' 
  AND (subject LIKE '%q%' 
    OR site LIKE '%q%' 
    OR assigned LIKE '%q%') 
  ORDER BY subject

Nu skulle jag vilja sortera så att alla som innehåller q i subject ska komma först, sedan ska alla site som innehåller det komma, osv...

Hur gör man det med mySQL?

LarsGMedlem sedan dec. 200012 465 inlägg
#2
SELECT * FROM cwwl 
  WHERE active = 1 
  AND (subject LIKE '%q%' 
    OR site LIKE '%q%' 
    OR assigned LIKE '%q%') 
  ORDER BY 
  case when subject like '%q% then 1
         when site like '%q% then 2
         else 3 end
GaskiMedlem sedan juni 2000325 inlägg
#3

Tack!

@ndersMedlem sedan juni 200026 914 inlägg
#4

Också var det där gamla vanliga, Hur markerar jag vilket svar som löste mitt problem?

Genererad på 391 ms · cache AV · v20260730165559-full.f96bc7eb