Mi è cambiato lo scenario del database...
Questa query la devo eseguire su una tabella cosi...
codice:
id idPersona punteggio
1 1 30
2 1 -10
3 2 50
4 3 60
5 2 -10
6 3 150
7 1 190
Qunidi devo prima fare la somma del punteggio per ogni singolo e da li tirare fuori i primi 3 (o di più nel caso dei pari merito)
Inoltre va joinata con tabella2 su idPersona... olè
L'ho provata cosi ma mi sta facendo impazzire:
codice:
SELECT persone.nome,
SUM(transazioni.importoFinale) AS punti
FROM transazioni
INNER JOIN persone ON persone.idPersona = transazioni.idPersona
INNER JOIN
(SELECT DISTINCT(SUM(transazioni.importoFinale)) AS punti,
persone.nome
FROM transazioni
INNER JOIN persone on persone.idPersona = transazioni.idPersona
GROUP BY persone.idPersona
ORDER BY punti DESC
LIMIT 3) subq ON transazioni.punti = subq.punti
ORDER BY punti DESC
(ci sono anche tante altre INNER JOIN ma non sto qui a riportarle)
grazie intanto!