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ć?