![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 2.11.2009 Ostrzeżenie: (0%)
|
Witam,
Jak w temacie, chciał bym wykonać ranking aczkolwiek kompletnie nie mam pomysłu na to jak zmodyfikować zapytanie. Posiadam w bazie danych tabelę a w niej pola: dyscyplina, zawodnik, punkty. Obenie ranking jest tworzony na podstawie pola punkty
Wszystko wygląda tak : Kod 1. Koszykówka, XYZ, 12 2. Koszykówka, XYZ, 11 3. Siatkówka, XYZ, 10 4. Siatkówka, XYZ, 9 5. Piłka nożna, XYZ, 8 6. Piłka nożna, XYZ, 7 ( ... ) Chciał bym natomiast wyświetlić dane tak: Kod 1. Koszykówka, XYZ, 12 // pierwsza pozycja z dyscypliny "Koszykówka" 1. Piłka nożna, XYZ, 8 // pierwsza pozycja z dyscypliny "Piłka nożna" 1. Siatkówka, XYZ, 10 // pierwsza pozycja z dyscypliny "Siatkówka" 2. Koszykówka, XYZ, 11 // druga pozycja z dyscypliny "Koszykówka" 2. Piłka nożna, XYZ, 7 // druga pozycja z dyscypliny "Piłka nożna" 2. Siatkówka, XYZ, 9 // druga pozycja z dyscypliny "Siatkówka" ( ... ) Jakim zapytaniem MySQL osiągnę taki rezultat? Z góry bardzo dziękuję za pomoc. Pozdrawiam, Marcin Ten post edytował marcon 14.07.2011, 11:32:40 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 31 Dołączył: 12.10.2008 Skąd: WAT Ostrzeżenie: (0%)
|
Nie wiem czy mysql ma takie cuda jak wskaźniki w procedurach tak jak oracle ale nawet jeśli ma to sprawa wg mnie nie jest warta takiego zachodu... Przy obecnej strukturze tabeli nie da się tego prosto rozwiązać.
Możesz pokombinować coś w stylu:
tylko co jeśli w danej dyscyplinie będzie kilku zawodników z taką samą liczbą punktów? Ja bym to przerzucił na skrypt. Pobierz każdą dyscyplinę wg punktów do osobnej tablicy i przy wyświetlaniu iteruj wszystkie na raz. Jak chcesz się uprzeć na bazę danych to analogicznie trzeba by to zrobić procedurą. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 2.11.2009 Ostrzeżenie: (0%)
|
Bardzo dziękuję za odpowiedź, chyba rzeczywiście najrozsądniej i najprościej będzie to zrobić za pomocą PHP.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 23:41 |