![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 27.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
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
Ten post edytował arzach 24.08.2010, 19:29:08 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 17 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
ORDER BY `pole` AND `pole` AND `pole3?` ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 27.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chyba mnie nie zrozumiałeś po za tym AND nie da się użyć w ORDER BY
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 1 Dołączył: 20.01.2008 Skąd: Bełchatów Ostrzeżenie: (0%) ![]() ![]() |
ORDER BY 'pole1' DESC 'pole2' DESC 'pole3' DESC
nie działa? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 27.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
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 takKod 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 Ten post edytował arzach 24.08.2010, 20:12:10 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 1 Dołączył: 20.01.2008 Skąd: Bełchatów Ostrzeżenie: (0%) ![]() ![]() |
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; } Ten post edytował Kaarpiik 24.08.2010, 20:15:09 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 27.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
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 Ten post edytował arzach 24.08.2010, 20:18:26 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:12 |