![]() |
![]() |
--jymbox-- |
![]()
Post
#1
|
Goście ![]() |
Najlepiej wydaje mi sie ze opisze to na przykladzie:
tabela wynikow na Wielkiej Krokwi id nazwa metrow rok 1 Czesiek 125 2001 2 Wiesiek 132 2001 3 Stefek 140 2001 4 Czesiek 143.5 2002 5 Wiesiek 124 2002 6 Stefek 115 2002 7 Czesiek 129 2003 8 Wiesiek 137 2003 9 Stefek 120 2003 itd. i teraz tak... kolejonosc w danym roku to nie problem radze sobie ale zeby zrobic taki ranking wszechczasow na Wielkiej Krokwi to juz mi stwarza problem probowalem ze naprawde wielu rzeczy i distinct i group by i tabele pomocnicze i nigdy nie udalo mi sie otrzymac poprawnych danych np. dla tabeli powyzej dane powinny wygladac tak: miejsce id nazwa metrow rok 1 4 Czesiek 143.5 2002 2 3 Stefek 140 2001 3 8 Wiesiek 137 2003 tylko wlasnie o to mi chodzi zeby raz pokazywalo danego zawodnika i tylko z jego najlepszym wynikiem oczywiscie niestety mi nie udawalo sie wyciagnac tych danych tak zeby grupowalo z najepszym wynikiem tylko zawsze z najgorszym badz z pierwszym juz nie pamietam ponizej podam link do starego mojego tematu problem z zapytaniem mysql z gory dzieki za kazda pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Wszystko zależy od struktury tabel w bazie. Najprostszy, co nie znaczy od razu najlepszy, to posortować tabelę wyników najpierw po interesującej Cię informacji i pogrupować po innym kryterium. Tu jest właśnie problem, ponieważ ORDER BY jest wykonywane PO grupowaniu dopiero i nie można tej kolejności zamienić. Pomysłów na odejście tego problemu jest kilka. Najczęściej tworzysz podzapytanie, które ustawia rekordy we właściwym porządku i dopiero je grupujesz.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 19:58 |