Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Zapytanie do bazy - ranking użytkowników
d.stp
post
Post #1





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

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


Witam, mam 2 tabele: USERS i ZAROBKI. Próbuję zrobić ranking użytkowników, którzy najwięcej sprzedali produktów w sklepie.

W tabeli zarobki mam pola id|id_usera|kwota|data no i nie wiem jak zrobić ten ranking. Chyba coś z JOIN będzie, ale nie mam pojęcia... Może mnie ktoś nakierować?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Pewnie:
http://dev.mysql.com/doc/refman/5.0/en/join.html
Zobacz sobie jak działa join, dla Twoich potrzeb może być np. inner join. Jeśli wiesz jak wyciągnąć te zarobki w dobrej kolejności, dodajesz tylko joina, w którym porównujesz pola z id usera.
  1. SELECT * FROM zarobki
  2. JOIN users ON idwTabeliUsera = idwTabeliZarobki

Nie zapomnij o aliasach, jeśli nazwy kolumn się powtarzają

Ten post edytował Daimos 17.02.2014, 14:01:17
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. SELECT count(id) AS suma FROM zarobki JOIN users ON(zarobki.user_id = users.id) GROUP BY zarobki.user_id ORDER BY suma DESC


To tak poglądowo.
Go to the top of the page
+Quote Post
d.stp
post
Post #4





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

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


Dzięki Pyton, ale nie działa to chyba do końca tak jak chciałem. Chcę wyświetlić:

Login użytkownika | Zarobione pieniądze

A te zapytanie co mi podałeś sumuje ilość rekordów z tabeli zarobki każdego użytkownika.

Pogubiłem się :/

Ten post edytował d.stp 17.02.2014, 14:14:38
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




chciales miec liczbe sprzedazy, a nie sume kwot sprzedazy.... sie zdecyduj

No to jak chesz sume, to zamiast: count(id) AS suma
robisz: sum(kwota) AS suma
dosc logiczne.
Go to the top of the page
+Quote Post
d.stp
post
Post #6





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

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


Tak, właśnie do tego doszedłem (IMG:style_emoticons/default/biggrin.gif)

Ale kompletnie nie wiem jak wyświetlić login użytkownika (IMG:style_emoticons/default/smile.gif)

Próbowałem nawet takich cyrków: $x['zarobki'][zarobki_id_usera']

Ten post edytował d.stp 17.02.2014, 14:20:48
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




....
No to dodaj go do select.....
select sum(kwota) AS suma, POLE_Z_LOGINEM_USERA from ...
Go to the top of the page
+Quote Post
d.stp
post
Post #8





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

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


(IMG:style_emoticons/default/sciana.gif) trzeba się podszkolić w zapytaniach.

Dzięki
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: 18.09.2025 - 07:24