Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Zapytanie do bazy - ranking użytkowników
d.stp
post 17.02.2014, 13:55:49
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
Daimos
post 17.02.2014, 13:59:02
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


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
Pyton_000
post 17.02.2014, 14:00:20
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 17.02.2014, 14:14:13
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 17.02.2014, 14:17:15
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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
d.stp
post 17.02.2014, 14:19:38
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 biggrin.gif

Ale kompletnie nie wiem jak wyświetlić login użytkownika 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 17.02.2014, 14:22:11
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 ...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
d.stp
post 17.02.2014, 14:24:35
Post #8





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

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


sciana.gif trzeba się podszkolić w zapytaniach.

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