Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Warunek if w sortowaniu wyniku zapytania
Forum PHP.pl > Forum > Przedszkole
arzach
Mam takie dane w tabeli

I jak to posortować tak, aby najpierw sortowało po pkt potem po

Kod
pkt_meczy_bezposrednich DESC, roznica_bezposrednich_bramek DESC, roznica_bramek DESC,  zdobyte_bramki DESC


ale tylko wtedy gdy pkt_meczy_bezposrednich nie są NULL gdy są NULL to ma pomijać je i sortować po

Kod
roznica_bramek DESC, zdobyte bramki DESC
Ramzaa
ORDER BY `pole` AND `pole` AND `pole3?` ?
arzach
Chyba mnie nie zrozumiałeś po za tym AND nie da się użyć w ORDER BY
Kaarpiik
ORDER BY 'pole1' DESC 'pole2' DESC 'pole3' DESC

nie działa?
arzach
Wiem, że takie coś działa, ale nie o to mi chodzi. Chodzi mi mniej więcej o takie cos
Kod
ORDER BY pkt DESC, IF(pkt_meczy_bezposrednich==NULL,

(zdobyte_bramki DESC,roznica_bramek DESC, zdobyte bramki DESC),

(pkt_meczy_bezposrednich DESC, roznica_bezposrednich_bramek DESC, roznica_bramek DESC)



);


Ale to nie działa
Czyli tak sprawdzamy czy
Kod
pkt_meczy_bezposrednich==NULL
jak tak sortujemy tak
Kod
zdobyte_bramki DESC,roznica_bramek DESC, zdobyte bramki DESC

Jak nie sortujemy tak
Kod
pkt_meczy_bezposrednich DESC, roznica_bezposrednich_bramek DESC, roznica_bramek DESC

Kaarpiik
if(pkt_meczy_bezposrednich==NULL){
select * from tabela order by [i tutaj jak chcesz]
}
else {
i tutaj też jak checsz
}

edit:

if(pkt_meczy_bezposrednich==NULL){
select * from tabela order by 'zdobyte_bramki' DESC, 'roznica_bramek' DESC, 'zdobyte bramki' DESC;
}
else {
select * from tabela order by 'pkt_meczy_bezposrednich' DESC, 'roznica_bezposrednich_bramek' DESC, 'roznica_bramek' DESC;
}
arzach
Nie mogę tego w php muszę w zapytaniu zrobić ale w zapytaniu pkt_meczy_bezposrednich==NULL nie działa jest funkcja mysql IS NULL i IS NOT NULL ale jej się chyba nie da wykorzystać w IF albo nie umiem.

To co chce zrobić ma wygenerować tabele piłkarską gdzie najpierw sortuje się po pkt potem sprwadza się czy były mecze bezpośrednie jak tak to po nich się sortuje jak nie to po różnicy bramek z całego sezonu, i goli zdobytych

W moim przypadku NULL w kolumnie oznacza, że meczu bezpośredniego nie było
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.