Autor Zpráva
hal_sk
Profil
Zdravím,
Mám dotaz:
SELECT nazov FROM knihy WHERE nazov LIKE '%sikovne%' OR nazov LIKE '%recepty%'

A chcel by som ho upraviť tak, aby mi výsledky zoradil podľa toho koľko podmienok LIKE bolo splnených, napr. aby výsledok uvedeného dotazu vyzeral takto:
sikovne recepty do kapsy
jednoduche sikovne recepty
sikovne napady
letne recepty

Je na to nejaká finta, alebo priamo existuje ORDER BY niečo už ako súčasť SQL.
hal_sk
Profil
EDIT:
Už som niečo vygúglil:
SELECT
nazov,
(CASE WHEN nazov LIKE '%sikovne%' THEN 1 ELSE 0 END + CASE WHEN nazov LIKE '%recepty%' THEN 1 ELSE 0 END) AS numMatches
FROM knihy
ORDER BY numMatches DESC

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0