Ver Mensaje Individual
  #1  
Antiguo 13-04-2008
Avatar de DarkDudae
DarkDudae DarkDudae is offline
Miembro
 
Registrado: abr 2006
Posts: 177
Reputación: 21
DarkDudae Va por buen camino
Orden aleatorio con Rand() Ineficaz

Hola a todos,

estoy intentando sacar un listado aleatorio de filas con un SELECT en firebird.

He estado haciendo pruebas con la función Rand():

Código SQL [-]
SELECT CAMPO1, CAMPO2, CAMPO3 FROM MITABLA
ORDER BY RAND()


Aparentemente, funciona, pero nada más lejos de la realidad. Cada vez que ejecutas el query sin cerrar la aplicación, parece que la función RAND hace su cometido, y ordena las filas aleatoriamente. Pero es falso. Si cierras la aplicación, y la vuelves a abrir, se obtiene exactamente la misma ordenación.

Ejemplo: Ejecuto mi aplicación y uso el SELECT anterior y me da este orden:

3-4-2-1

Si vuelvo a ejecutar el Query nuevamente me da un orden diferente:

1-3-4-2


Y así sucesivamente...

Si cierro la aplicación y vuelvo a ejecutar el SELECT, obtendré nuevamente la misma ordenación: 3-4-2-1 , luego 1-3-4-2 ...



Si podeis arrojar algo de luz a este asunto, os estaría muy agradecido.

Saludos
Responder Con Cita