Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Numer wiersza przy kryterium, ranking
Forum PHP.pl > Forum > Bazy danych > MySQL
Kuba707
Witam, potrzebuję napisać zapytanie które mi pobierze pozycje danego rekordu. Może inaczej. Piszę sobie zapytanie
Kod
SELECT * FROM tabela ORDER by punkty DESC

To mi zwraca rekordy posortowane po ilosci jakis tam punktow. Mnie interesuje konkretny rekord i pozycja jego - ranking.
Jak napisać takie zapytanie bez pobierania danych i wykorzystywania pętli?
elektrrrus
Można jaśniej? Nie wiem jak inni, ale ja bez szklanej kuli nic z tego nie rozumiem.
uupah5
Kod
SELECT count(*) FROM tabela where punkty<[kryterium]

gdzie kryterium to ilość punktów dla sprawdzanego rekordu

ew jeśli chcesz liczyć pozycje zajmowane ex equo jako jedną pozycje to count(distinct punkty)
Pilsener
Tak tego nie zrobisz. Liczenie w locie jakiś rankingów, statystyk, średnio-ważonych cen materiałów metodą LIFO czy FIFO zabije bazę.

Dodaj sobie pole "place" i przeliczaj ranking co jakiś czas (np. co 5 minut) cronem. Potem wystarczy tylko pobrać, że już nie wspomną o sytuacji kiedy chcesz wyświetlać miejsce które zajmuje np. jakiś produkt na liście wyszukania.
nospor
http://nospor.pl/mysql-faq.html#faq-8
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.