La tabla puntaje tiene los puntos que recibio el usuario cada dia, por eso hago SUM() para sumar todo el periodo.
El problema es que depende la cantidad de fotos que tenga el usuario (JOIN con tabla fotos) se multiplica el valor de SUM(). No entiendo porque hace eso si estoy usando GROUP BY usuario!
Este es el query:
Código:
¿Que estoy haciendo mal?SELECT puntaje.usuario, sum(puntaje.puntos) as totalPuntos, usuarios.id as usuarioId FROM puntaje INNER JOIN usuarios ON puntaje.usuario=usuarios.usuario INNER JOIN fotos ON fotos.usuarioId=usuarios.id /*porque debe tener al menos una foto*/ WHERE usuarios.activo=1 AND puntaje.fecha >= DATE_SUB(curdate(), INTERVAL 1 MONTH) GROUP BY puntaje.usuario ORDER BY totalPuntos DESC LIMIT 10

Gracias por adelantado!