Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

group by po jednom polju pomoc

[es] :: MySQL :: group by po jednom polju pomoc

[ Pregleda: 881 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

duka94
RNR
Srbija

Član broj: 278531
Poruke: 75
172.68.51.*



+20 Profil

icon group by po jednom polju pomoc26.06.2019. u 22:39 - pre 57 meseci
Imam dve tabele users(id, username), games(points, created_at, user_id) i potrebno mi je da izvucem usere sa max poenima sto mi kod ispod uspesno radi:

Code:

SELECT u.username, g.points
FROM users u, (
       SELECT games.user_id, max(games.points) as points
       FROM games
       GROUP BY user_id) g
WHERE u.id = g.user_id
order by points DESC 


problem se desava kad treba da dodam games.created_at, onda moram da ga uvrstim u group by tako da mi onda vrati sve redove iz tabele games umesto samo usere sa maksimalnim poenima. Kako da selektujem i created_at iz games tabele a da "ne poremetim" trenutni select? Hvala unapred
 
Odgovor na temu

Deunan

Član broj: 338178
Poruke: 83
172.68.51.*



+21 Profil

icon Re: group by po jednom polju pomoc26.06.2019. u 23:31 - pre 57 meseci
Moze ovako:
Code:

SELECT users.id, users.username, games.points, games.created_at FROM users INNER JOIN games ON users.id = games.user_id 
WHERE 
(users.id, games.points) IN (SELECT user_id, MAX(points) FROM games GROUP BY user_id)

 
Odgovor na temu

duka94
RNR
Srbija

Član broj: 278531
Poruke: 75
172.68.51.*



+20 Profil

icon Re: group by po jednom polju pomoc27.06.2019. u 00:02 - pre 57 meseci
@Deunan

Hvala!
 
Odgovor na temu

[es] :: MySQL :: group by po jednom polju pomoc

[ Pregleda: 881 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.