
Untitled
By: a guest on
Jun 1st, 2012 | syntax:
None | size: 0.85 KB | hits: 8 | expires: Never
ORDER BY relevance, while using parametarized values
SELECT company_title
FROM companies
WHERE company_title like '%gge%'
GROUP BY company_title
ORDER BY CASE WHEN company_title like 'gge%' THEN 0
WHEN company_title like '% %gge% %' THEN 1
WHEN company_title like '%gge' THEN 2
ELSE 3
END, company_title
limit 100
SELECT company_title
,CASE WHEN company_title like CONCAT(@param,'%') THEN 0
WHEN company_title like CONCAT('% %',@param,'% %') THEN 1
WHEN company_title like CONCAT('%',@param) THEN 2
ELSE 3
END as relevance
FROM companies
CROSS JOIN (SELECT @param:= ?) as trick_to_set_at_param_in_one_go
WHERE company_title like CONCAT('%',@param,'%')
GROUP BY company_title
ORDER BY relevance, company_title
LIMIT 100