Autor | Zpráva | ||
---|---|---|---|
pajadvorak Profil |
#1 · Zasláno: 17. 11. 2018, 06:58:47
Nikde jsem pořádně nenašel, zda lze výsledek relevantně seřadit ještě na straně MySQL. To znamená, že hledám ve sloupci název, kód, informace. Na konci seřadím dle názvu (order by). A teď bych chtěl, aby řádky, které obsahují hledaný výraz v názvu byli řazeny nejdříve a potom vše ostatní. Děkuji za jakoukoliv radu.
|
||
Kajman Profil |
#2 · Zasláno: 17. 11. 2018, 09:15:26
V řazení můžete použít i výraz. Např., že je dané slovo v titulku.
|
||
pajadvorak Profil |
#3 · Zasláno: 17. 11. 2018, 10:31:53
Kajman:
Prosím, jak bych měl níže uvedený dotaz doplnit, aby to správně chodilo. Něco jsem zkoušel, ale nejde mi to. Děkuji SELECT * FROM tabulka WHERE (nazev LIKE '%hledany_vyraz_1%' OR kod LIKE '%hledany_vyraz_1%' OR informace LIKE '%hledany_vyraz_1%' OR rozsirene_info LIKE '%hledany_vyraz_1%') AND (nazev LIKE '%hledany_vyraz_2%' OR kod LIKE '%hledany_vyraz_2%' OR informace LIKE '%hledany_vyraz_2%' OR rozsirene_info LIKE '%hledany_vyraz_2%') ORDER BY nazev LIMIT 0, 15 |
||
Kajman Profil |
např.
ORDER BY ((nazev LIKE '%hledany_vyraz_1%') + (nazev LIKE '%hledany_vyraz_2%')) DESC Edit: přidány závorky pro další generace |
||
pajadvorak Profil |
#5 · Zasláno: 17. 11. 2018, 14:21:42
Kajman:
To právě nefunguje. Když tam je to "+", tak to hlásí chybu. Když tam nechám jen ORDER BY nazev LIKE '%hledany_vyraz_1%' DESC , tak to správně neseřadí.
|
||
Kajman Profil |
#6 · Zasláno: 17. 11. 2018, 15:18:19
Zkuste to zazávorkovat.
|
||
pajadvorak Profil |
#7 · Zasláno: 18. 11. 2018, 15:46:20
Kajman:
zdá se, že to již něco dělá... :-) děkuji |
||
Časová prodleva: 5 let
|
0