![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 175 Pomógł: 18 Dołączył: 11.06.2007 Skąd: Koszalin/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Można jaśniej? Nie wiem jak inni, ale ja bez szklanej kuli nic z tego nie rozumiem.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 4.09.2010 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
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) Ten post edytował uupah5 20.12.2011, 08:21:57 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 04:42 |