V MySQL mohou být booleovské výrazy použity jako celá čísla -- s 0 pro nepravdu a 1 pro pravdu. Funguje tedy následující:
SELECT p.*,
((name LIKE '%samsung%') + (name LIKE '%galaxy%') + (name LIKE '%s4%')) as hits
FROM myprods p
WHERE name LIKE '%samsung%' OR name LIKE '%galaxy%' OR name LIKE '%s4%';
EDIT:
Pokud jde o MySQL, můžete tento dotaz vyjádřit také jako:
SELECT p.*,
((name LIKE '%samsung%') + (name LIKE '%galaxy%') + (name LIKE '%s4%')) as hits
FROM myprods p
HAVING hits > 0;
Použití having
v tomto kontextu je rozšíření SQL a nefunguje v jiných databázích. Umožňuje však dotazu odkazovat na alias sloupce pro filtrování bez použití poddotazu.