salve, queste le tabelle:
tabella values:
user_id, field_id, value
tabella points:
user_id, points
il parametro che mi serve contiene la professione, ha field_id=16.
Quello che deve restituire la query è l'utente con punteggio massimo per ogni professione, ordinati dal punteggio massimo.
Esempio di risultato da ottenere:
codice:
user_id | value | max_points
10 | attore | 100
12 | cantante | 90
32 | musicista| 80
questa è la mia query, ma c'è un errore logico, ogni record ha il punteggio massimo, ma non l'userid che ha quel punteggio..
codice:
SELECT c.user_id,c.value, MAX( p.points ) AS max_pts
FROM values AS c
INNER JOIN points AS p ON p.user_id = c.user_id
WHERE c.field_id =16
GROUP BY c.value
ORDER BY p.points DESC