Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy da się to zrobić samym zapytaniem ?
Forum PHP.pl > Forum > Bazy danych > MySQL
dlinek
Mam taka tabelkę w bazie mySQL o nazwie pilkarze.
Uproszczona struktura wygląda następująco:

ID | Nazwisko | Pozycja | Ocena

Na podstawie zebranych danych chciałbym stworzyć coś w stylu dream team czyli najlepszej 11.

select * from pilkarze order by ocena desc limit 11 // pozwoli mi wybrać 11 najlepszych ale 8 z nich może być obrońcami sad.gif

założenie jest takie:

max 1 piłkarz gdzie pozycja = 0
max 5 piłkarzy gdzie pozycja = 1
max 5 piłkarzy gdzie pozycja = 2
max 3 piłkarzy gdzie pozycja = 3

Oczywiście mogę zrobić 4 zapytania, pobrać poszczególne pozycje i z tych 14 pobranych za pomocą szeregu warunków wybrać 11.

Ale czy da się zrobić to na poziomie zapytania SQL tzn. Wybrać 11 ale z założeniami jak wyżej questionmark.gif
nospor
skorzystaj z union - laczy kilka zapytan select w jedno. Info w manualu
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.