I MySQL kan booleske udtryk bruges som heltal -- med 0 for falsk og 1 for sand. Så følgende virker:
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:
Hvis MySQL, kan du også udtrykke denne forespørgsel som:
SELECT p.*,
((name LIKE '%samsung%') + (name LIKE '%galaxy%') + (name LIKE '%s4%')) as hits
FROM myprods p
HAVING hits > 0;
Brugen af having
i denne sammenhæng er en SQL-udvidelse og virker ikke i andre databaser. Men det tillader en forespørgsel at henvise til et kolonnealias til filtrering uden at bruge en underforespørgsel.