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

Por favor, Ayuda con una consulta...

Estas en el tema de Por favor, Ayuda con una consulta... en el foro de Mysql en Foros del Web. Hola a todos, Tengo un problema con una consulta, no la consigo sacar... Mi idea es: A B C 1 K 5 1 Y 1 ...
  #1 (permalink)  
Antiguo 08/08/2009, 01:43
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Por favor, Ayuda con una consulta...

Hola a todos,

Tengo un problema con una consulta, no la consigo sacar... Mi idea es:

A B C
1 K 5
1 Y 1
2 T 3
1 V 9
3 W 3


Quiero sacar una random de 2 filas, pero que la columna A sea distinta, seria algo asi:

SELECT DISTINCT A, B, C from table ORDER BY rand() LIMIT 2

¿Como seria?

Gracias y un saludo,
  #2 (permalink)  
Antiguo 08/08/2009, 01:50
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Por favor, Ayuda con una consulta...

ok, lo siento, ya esta solucionado:

SELECT * FROM table GROUP BY A ORDER BY rand() LIMIT 2

Un saludo y gracias,
  #3 (permalink)  
Antiguo 08/08/2009, 10:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Por favor, Ayuda con una consulta...

Capi666,
comprueba que no te salgan siempre los primeros valores de cada grupo. Si eso es así, poca aleatoriedad estarás haciendo. En ese caso yo intentaría hacer primero el rand y luego seleccionaría agrupando.
SELECT t1.A, t1.B, t1.C FROM (SELECT A, B, C From table ORDER BY rand())t1 GROUP BY t1.A LIMIT 2

Sería algo más aleatorio.

Última edición por jurena; 08/08/2009 a las 10:52
  #4 (permalink)  
Antiguo 05/09/2009, 13:44
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Por favor, Ayuda con una consulta...

Cita:
Iniciado por jurena Ver Mensaje
Capi666,
comprueba que no te salgan siempre los primeros valores de cada grupo. Si eso es así, poca aleatoriedad estarás haciendo. En ese caso yo intentaría hacer primero el rand y luego seleccionaría agrupando.
SELECT t1.A, t1.B, t1.C FROM (SELECT A, B, C From table ORDER BY rand())t1 GROUP BY t1.A LIMIT 2

Sería algo más aleatorio.
Gracias, tenias toda la razon.

Un saludo,
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 01:42.