Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyciąganie pozycji rekordu z zapytania
peku33
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 22.01.2010

Ostrzeżenie: (0%)
-----


Witajcie!

Poszukuję metody dzięki której dostanę pozycję rekordu w tabeli.
Tabela wygląda tak:

|nick|punkty|
ala - 1
bronek - 4
juzek - 100
adam - 15

i teraz znając nick chciałbym zobaczyć który jest w rankingu.

Baza jest bardzo obszerna (ponad 10k rekordów). Chodzi na stosunkowo szybkim serwerze, ale takich zapytań będzie sporo.

Aha, interesuje mnie coś real time - żeby pozycja była od razu, a nie odświeżana co 10 minut.

Dziękuję i pozdrawiam.
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://nospor.pl/mysql-faq-n25.html#faq-6

Aczkolwiek jeżeli chcesz żeby rozwiązanie było wydajne utwórz dodatkową kolumnę (oraz indeks na nią) opisującą pozycję w rankingu a następnie załóż triggera uaktualniającą ową pozycję.

Ten post edytował wookieb 30.06.2010, 14:28:23
Go to the top of the page
+Quote Post
peku33
post
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 22.01.2010

Ostrzeżenie: (0%)
-----


Kolumna i indeks nie problem... Trigger - z angielskiego mi coś mówi, zaraz na google poszukam.

Mam coś takiego: http://dev.mysql.com/doc/refman/5.1/en/trigger-syntax.html

Przeczytałem Twój manual i mam jeszcze pytanie: co to jest @ w zapytaniu? To jakaś forma zmiennej?

Oczywiście pomógł (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(peku33 @ 30.06.2010, 15:32:03 ) *
Przeczytałem Twój manual i mam jeszcze pytanie: co to jest @ w zapytaniu? To jakaś forma zmiennej?

Tak, @ w MySQL to $ w PHP czyli oznaczenie zmiennej.
Go to the top of the page
+Quote Post
peku33
post
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 22.01.2010

Ostrzeżenie: (0%)
-----


Okej, staram się zrozumieć to zapytanie, żeby go na pałę nie kraść (IMG:style_emoticons/default/smile.gif)

czym się różni := od =
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




:= to przypisanie (w PHP = )
= to porównanie (w PHP == )

PS: Może wypadałoby ruszyć mózgownicą? (IMG:style_emoticons/default/smile.gif) albo ewentualnie pogooglować o jakiś podstawach?
Go to the top of the page
+Quote Post
peku33
post
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 22.01.2010

Ostrzeżenie: (0%)
-----


Okej, mam teraz ostatnie pytanie:
Jakim zapytaniem wpisać w polę pozycja pozycję rekordu.
Wystarczy mi: jak zrobić zapytanie które wykona się dla każdego wiersza

Hehe, nie wiem po co takie zamieszanie ze zminnymi skoro zrobiłem tak i działa
  1. SELECT COUNT(*)+1 AS pozycja FROM konkurs WHERE playtime > (SELECT playtime FROM konkurs WHERE authid='abcd')
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Spoko ważne, że działa aczkolwiek to rozwiązanie jest dedykowane główne pod twoje zapytanie i nie jest tak uniwersalne jak te podane wyżej.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 01:52