Pozycja w rankingu

0

Witam, mam tabele z rankingiem. Są tam pola:
id
punktu
podpis

Chciałbym wiedzieć jaką pozycję ma wiersz o wybranym id (np. 8).
Próbowałem
z zapytaniem:
SELECT COUNT(*) AS pozycja FROM ranking WHERE id<=8 ORDER BY punkty DESC
Ale zwracało id, bo najpierw dawało warunek, a potem liczyło. Czyli stwierdziłem, ze muszę wstawić warunek po sortowaniu. Znalazłem to:
SELECT COUNT(*) AS pozycja FROM ranking ORDER BY punkty DESC HAVING id<=8

Ale otrzymuję błąd MySQL:

#1064 - Something is wrong in your syntax obok 'HAVING id<=8
LIMIT 0, 30' w linii 1 

Problem rozwiązałem licząc w pętli w php, ale jest to mniej optymalne i chciałbym policzyć to w mysqlu. Jakiego zapytania użyć?

1
SELECT COUNT(*) AS pozycja FROM ranking WHERE punkty >=  (select punkty from ranking where id = 8)

jeśli się będzie pluł to zamiast select punkty spróbuj select Max(punkty)

1 użytkowników online, w tym zalogowanych: 0, gości: 1