Portál AbcLinuxu, 10. května 2025 12:26
Dobrej den vinšuju, tuší někdo jak zařídit v sql dotazu (počítám že v klauzoli order by) aby pokud odpovídá více záznamů aby se preferoval určitý řádek s určitou hodnotou?
tabulka:
x, y, name
radky:
1,2,ahoj
1,2nazdar
1,2,dobre
X a Y jsou souřadnice, problém je že na jedněch souřadnicích může být více pozdravů a já chci preferovat ahoj, tedy, řazení by mělo probíhat klasicky dle abecedy (select * from table order by name) ale k tomu ještě fičura která zařídí že ahoj bude na prvním místě a následně se bude vše ostatní řadit dle abecedy...
PS. Ano, vím, ahoj bude na začátku protože a je na začátku abecedy, ale potřebuju aby se to dalo aplikovat na jakékoli slovo
Díky
Řešení dotazu:
select X,Y,NAME from TABLE order by X, Y, case when NAME='ahoj' then 0 else 1 end, NAME
Ale nevím, jestli to funguje i v MySQL.
A pokud bych chtěl preferovat 2 věci? Například nejpreferovanější by bylo "ahoj", potom "čau" a pokud by to neobsahovalo ani jedno pokračovalo by se normálně?
Díky
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.