Mam następujące zapytanie:
SELECT count('PersonPerTurn') AS 'TurnFreq' , 'PersonPerTurn' FROM ( SELECT count(TurnID) AS 'PersonPerTurn' , TurnID FROM `wyniki` WHERE 1 GROUP BY TurnID ORDER BY 'PersonPerTurn' DESC, TurnID ASC ) WHERE 1 GROUP BY 'PersonPerTurn'
Podzapytanie
liczy mi poprawnie ile osób wzięło udział w danym turnieju (w bazie są pola: ID, TurnID, PersonID, Place, które w kolejnosci oznaczają: ID, numer turnieju, ID osoby, miejsce które zajął zawodnik w turnieju).
SELECT count(TurnID) AS 'PersonPerTurn' , TurnID FROM `wyniki` WHERE 1 GROUP BY TurnID ORDER BY 'PersonPerTurn' DESC, TurnID ASC
Przykładowe dane zwrócone przez podzapytanie
Kod
PersonPerTurn TurnID
16 97
16 98
15 96
14 20
14 94
14 99
13 37
16 97
16 98
15 96
14 20
14 94
14 99
13 37
Teraz chciałem sobie policzyć ile razy wystąpiła jaka frekwencja we wszytkich turniejach i dla wyżej podanych danych powinno mi zwrócić
Kod
TurnFreq PersonPerTurn
2 16
1 15
3 14
1 13
2 16
1 15
3 14
1 13
Jak się można domyślać moje zapytanie podane na początku nie działa

Zwrócony komunikat błędu:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT count( TurnID ) as 'PersonPerTurn' , TurnID FROM `wynik
EDIT:
Hm, czasami sprecyzowanie pytania i przeczytanie go niesie rozwiązanie. W końcu podzapytania są dopiero od wersji 4.1

A samo prawidłowe zapytanie po paru poprawkach i testach na wyższej wersji MySQL wygląda nastepująco (zostawiam dla potomnych

SELECT count('PersonPerTurn') AS 'TurnFreq' , t1.PersonPerTurn FROM ( SELECT count(TurnID) AS 'PersonPerTurn' , TurnID FROM `wyniki` WHERE 1 GROUP BY TurnID ORDER BY 'PersonPerTurn' DESC, TurnID ASC ) AS t1 WHERE 1 GROUP BY t1.PersonPerTurn ORDER BY t1.personPerTurn DESC