Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2011, 03:37
chemon
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 19 años, 8 meses
Puntos: 0
Obtener X registros

Saludos a todos.
Y pido disculpas por lo poco claro del título. Mi consulta es un poco compleja y no se como resumirlo de una manera clara.

Tengo una BBDD en la que guardo usuarios y galerias. Cada usuario tiene una puntuacion y quiero mostrar 3 galerias por usuario ordenadas por la puntuacion del usuario, de manera que si un usuario tiene 20 galerias no aparezcan primero las veinte de este usuario, luego otras quince de otro, sino como máximo tres galerias del usuario mejor puntuado, luego otras tres del siguiente,... y así hasta el último. Cada galeria muestra una breve información del usuario.
Mi sentencia SQL es la siguiente:
Código MySQL:
Ver original
  1. SELECT G. * , E. *
  2. FROM galerias AS G INNER JOIN entidades AS E ON E.id_entidad = G.id_entidad
  3. WHERE G.activo =1
  4. ORDER BY E.puntos_totales DESC
He probado a introducir LIMIT, pero eso me limita el número de registros que aparecen.

Tal vez me estoy complicando la vida y es más sencillo hacer dos consultas. Una que me muestre las entidades y por cada entidad muestro los porfolios que necesito mediante LIMIT (estoy programando en Php) Pero se me ha colado el tratar de hacerlo todo en una.

Si alguien tiene una solución, le estaría muy agradecido.

Un saludo