Di MySQL, ekspresi boolean dapat digunakan sebagai bilangan bulat -- dengan 0 untuk false dan 1 untuk true. Jadi, berikut ini berfungsi:
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:
Jika MySQL, Anda juga dapat mengekspresikan kueri ini sebagai:
SELECT p.*,
((name LIKE '%samsung%') + (name LIKE '%galaxy%') + (name LIKE '%s4%')) as hits
FROM myprods p
HAVING hits > 0;
Penggunaan having
dalam konteks ini adalah ekstensi SQL dan tidak berfungsi di database lain. Namun, itu mengizinkan kueri untuk merujuk ke alias kolom untuk pemfilteran, tanpa menggunakan subkueri.