Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2012, 05:13
mikexloo
 
Fecha de Ingreso: mayo-2011
Mensajes: 25
Antigüedad: 12 años, 11 meses
Puntos: 1
Seleccionar n grupos de 1 a 8 lineas aleatorias

Por ejemplo si tengo una tabla con columnas
id - paises - ciudades

cada paises tiene un numero del 1 al n (el numero de cada pais puede estar repetido dependiendo de la ciudad en "ciudades") y cada pais puede tener mas de una ciudad.
Seleccionar entre 8 paises aleatorios con sus respectivas 1 a 8 ciudades (al menos 1)

Otra forma de explicarlo es seleccionar 8 grupos de 1 a 8 ciudades (8 paises) aleatorios
Es decir en total como mínimo 8 y como máximo 64 filas

Os agredecería un poco de ayuda.

Esto selecciona todas las ciudades agrupadas pero no sé como limitarla a 8 ciudades porque LIMIT no es permitido dentro de un SUBQUERY y tampoco sé como limitar a 8 paises aleatorios.

SELECT *
FROM be_services
WHERE bepro_id
IN (

SELECT bepro_id
FROM be_services
GROUP BY bepro_id
HAVING COUNT( bepro_id ) >0
)
ORDER BY bepro_id

Última edición por mikexloo; 24/06/2012 a las 08:24 Razón: Mejor interpretacion