Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Ranking userów
d.stp
post 28.02.2015, 13:11:59
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Mam dwie tabele:

punkty:

id | ilosc | user_id | data

uzytkownicy:

id | login | haslo

Chciałbym wyciągnąć z bazy TOP 10 userów którzy mają największą ilość punktów dnia dzisisiejszego (data trzymana jako pole date mysql).

Pomoże ktoś?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
ilidir
post 28.02.2015, 13:17:38
Post #2





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

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


po pierwsze w tabeli:

punkty zmień nazwy kolumn bo się pogubisz:
punkty_id
user_id
ilosc
data


tabela uzytkownicy:
user_id
login
haslo


I teraz musisz jak zapewnewiesz połącz 2 tabele: https://www.google.com/search?q=mysql+inner...%85czenie+tabel

Nastepnie do przygotowanego zapytabnia dodajesz sortowanie i wpisujesz LIMIT który ma się wyświetlić

Ten post edytował ilidir 28.02.2015, 13:18:09
Go to the top of the page
+Quote Post
d.stp
post 28.02.2015, 13:22:29
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Spoko, tabele mam dobrze zaprojektowane bo sam jestem uczulony na niewłaściwe nazwy w bazie smile.gif a tutaj dałem tak, żeby skrócić.

user_id, user_pass, user_login
point_id, point_date, point_user_id

Próbowałem:

  1. SELECT
  2. *
  3. FROM
  4. points
  5. users
  6. GROUP BY
  7. point_amount
  8. ON
  9. points.point_user_id = users.user_id
  10. WHERE
  11. DATE(points.point_date) = CURDATE()

Oczywiście porażka sad.gif

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
Go to the top of the page
+Quote Post
trueblue
post 28.02.2015, 13:26:29
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. SELECT user_login,SUM(ilosc) AS punkty
  2. ...
  3. GROUP BY user_id /* na pewno nie między JOIN i ON */
  4. ....
  5. ORDER BY punkty DESC


Ten post edytował trueblue 28.02.2015, 13:27:16


--------------------
Go to the top of the page
+Quote Post
d.stp
post 28.02.2015, 13:32:00
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


No dokładnie, wszystko przez złe umiejscowienie tego GROUP BY.

Chyba sobie poradziłem, ale dzięki wielkie za pomoc smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:34