Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda armando consulta aleatoria

Estas en el tema de Ayuda armando consulta aleatoria en el foro de Mysql en Foros del Web. Buenas. Mi problema está en que quiero armar un SELECT de 10 registros, de forma aleatoria pero que no se repita x campo. Suponiendo que ...
  #1 (permalink)  
Antiguo 23/09/2008, 16:48
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Ayuda armando consulta aleatoria

Buenas.

Mi problema está en que quiero armar un SELECT de 10 registros, de forma aleatoria pero que no se repita x campo.
Suponiendo que tengo una tabla con los campos id, nombre, apellido. Necesito seleccionar 10 filas aleatoriamente, pero que no se repitan los nombres.

En un principio hice:
Código sql:
Ver original
  1. SELECT * FROM DATA ORDER BY RAND() LIMIT 10
Pero habían repeticiones. Luego pruebo con:
Código sql:
Ver original
  1. SELECT * FROM DATA GROUP BY nombre ORDER BY RAND() LIMIT 10
Aquí no se repiten, pero siempre selecciona el mismo apellido para cada nombre.

Alguna ayuda???

Saludos.
  #2 (permalink)  
Antiguo 24/09/2008, 08:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Ayuda armando consulta aleatoria

Entiendo que lo que no quieres es que se repita un nombre y apellido

Si es eso, prueba con esta consulta:

Código sql:
Ver original
  1. SELECT d.id, d.nombre, d.apellido FROM DATA d
  2. INNER JOIN (SELECT id, nombre, apellido FROM DATA ORDER BY RAND( ) )T1 ON d.id = t1.id
  3. GROUP BY nombre, apellido
  4. ORDER BY RAND( )
  5. LIMIT 10

Si lo que no quieres es que se repita sólo el nombre, prueba esta otra
Código sql:
Ver original
  1. SELECT d.id, d.nombre, d.apellido FROM DATA d
  2. INNER JOIN (SELECT id, nombre, apellido FROM DATA ORDER BY RAND( ) )T1 ON d.id = t1.id
  3. GROUP BY nombre ORDER BY RAND( ) LIMIT 10

Última edición por jurena; 24/09/2008 a las 12:06
  #3 (permalink)  
Antiguo 24/09/2008, 14:02
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Ayuda armando consulta aleatoria

El segundo código funciona de maravilla, exactamente lo que buscaba.

Muchísimas gracias!

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:32.