Hola Amigos del Foro aca con una consulta
tengo que seleccionar 20 registros aleatorios de una tabla
y que al menos un registro especifico este siempre presente en la consulta es decir
fabiana
nathaly
hernan
jose
sandra
**************************
fabian
nathaly
hernan
victor
jorge
*************************
omar
nathaly
carlos
antonio
diego
es decir q un registro siempre este presente al realizar la consulta ç
DE ANTEMANO GRACIAS POR LA AYUDA!!!!!!!!!!
Registros Aleatorios
Comenzado por
brosso
, mar 22 2013 11:11
4 respuestas en este tema
#1
Escrito 22 marzo 2013 - 11:11
#2
Escrito 23 marzo 2013 - 09:43
Saludos.
Una idea, pudiera realizar un UNION el primer select traes el registro fijo y en el segundo select traer los 19 registros aleatorios.
Una idea, pudiera realizar un UNION el primer select traes el registro fijo y en el segundo select traer los 19 registros aleatorios.
#3
Escrito 23 marzo 2013 - 11:01
La idea de Rolphy puede funcionar.
El asunto pasaría por elegir los 19 registros al azar. Creo que ningún motor tiene una función Random.
Mi propuesta es que por vía sistema se elijan 19 números gracias a Random/RandomRange, que correspondan al rango de IDs (válidas por supuesto) que tiene al momento dicha tabla. Con estos 19 números se forma una cadena que tenga la forma:
¿Porqué o para qué? Muy fácil: mi objetivo es lanzar una consulta select-in:
Más o menos por allí va la idea.
Saludos,
El asunto pasaría por elegir los 19 registros al azar. Creo que ningún motor tiene una función Random.
Mi propuesta es que por vía sistema se elijan 19 números gracias a Random/RandomRange, que correspondan al rango de IDs (válidas por supuesto) que tiene al momento dicha tabla. Con estos 19 números se forma una cadena que tenga la forma:
delphi
'(NroFijo, Nro1, ..., Nro19)'
¿Porqué o para qué? Muy fácil: mi objetivo es lanzar una consulta select-in:
SELECT <tus-campos>
FROM <tu-tabla>
WHERE ID IN (NroFijo, Nro1, .... Nro19)
[ORDER BY ....]
Más o menos por allí va la idea.
Saludos,
#4
Escrito 23 marzo 2013 - 11:17
MySQL sí tiene una función para ello, es el RAND(), ejemplo:
Saludos.
Select nombre from mi Tabla where Campo = 'Algo' ORDER BY RAND() LIMIT 19
Saludos.
#5
Escrito 23 marzo 2013 - 12:34
MySQL sí tiene una función para ello, es el RAND(), ejemplo:
Select nombre from mi Tabla where Campo = 'Algo' ORDER BY RAND() LIMIT 19
Saludos.
Saludos.
Esa sería una de las partes del UNION que propongo, lo que no sabía como se llama la función en MySQL.
Yo haría algo como:
SELECT CAMPO FROM TABLA WHERE CAMPO = 'nathaly'
UNION
SELECT CAMPO FROM TABLA WHERE CAMPO <> 'nathaly'ORDER BY RAND() LIMIT 19