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

Ordenamiento aleatorio

Estas en el tema de Ordenamiento aleatorio en el foro de Bases de Datos General en Foros del Web. Saludos maestros he aquí mi dilema. Tengo una tabla con dos campos id y nombre, el campo id es el indice, autoincremetal, ahora bien al ...
  #1 (permalink)  
Antiguo 30/06/2004, 10:44
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 10 meses
Puntos: 22
Ordenamiento aleatorio

Saludos maestros he aquí mi dilema.

Tengo una tabla con dos campos id y nombre, el campo id es el indice, autoincremetal, ahora bien al seleccionar los registros y ordenarlos por el id utilizo:

SELECT * FROM tabla ORDER BY id;

puedo seleccionar en orden normal o descendiente, ahora bien, puedo seleccionar los registros pero en forma aleatoria por id?

Bueno esa es mi duda, espero haberla explicado bien.

Agradeceré cualquier ayuda.

Saludos.
  #2 (permalink)  
Antiguo 30/06/2004, 10:50
Avatar de peloteitor  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 849
Antigüedad: 21 años
Puntos: 1
Si dijeras para que kieres hacer eso a lo mejor t podriamos ayudar de otra forma.
__________________
El sexo sin amor es una experiencia vacía. Pero como experiencia vacía es una de las mejores.

Woody Allen
  #3 (permalink)  
Antiguo 30/06/2004, 10:58
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 10 meses
Puntos: 22
Gracias peloteitor por la pronta respuesta, ueno la idea es esta.

Estoy haciendo un cataloguito de productos, ahora bien, en todas las páginas va a haber un espacio para mostrar la promociones del mes, en mi base de datos tengo una tabla donde estan las pormociones, es un tabla muy sencilla solo tiene 4 campos:

id, nombre, descripcion, foto

Ahora bien, lo que me gustaria es que cada vez que se entre a la página se mostrara la información de un registro al azar de esa tablita, pero los indices van cambiando porque pues se agregan promociones y se borran otras.

De hecho lo que básicamente busco es la forma de seleccionar un registro al azar de una tabla cualquiera, ese es en esencia del objetivo.

Espero haberme explicado bien.

GRacias nuevamente.
  #4 (permalink)  
Antiguo 30/06/2004, 20:27
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 22 años, 4 meses
Puntos: 0
Probá con esto (funciona en MS SQL Server, en Access me parece que no)

SELECT * FROM tabla ORDER BY NEWID()

Si usás otra base, por favor aclará cual.
Saludos
  #5 (permalink)  
Antiguo 01/07/2004, 05:40
Avatar de peloteitor  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 849
Antigüedad: 21 años
Puntos: 1
El campo id supongo q será un número.
Yo lo que haría sería utilizar la función random() para obtener un número aleatorio X.
Después haría la consulta:
SELECT * FROM tabla WHERE id = X
__________________
El sexo sin amor es una experiencia vacía. Pero como experiencia vacía es una de las mejores.

Woody Allen
  #6 (permalink)  
Antiguo 01/07/2004, 08:55
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 10 meses
Puntos: 22
GRacias DeLaVega y peloteitor me resultarón múy útiles su consejo, también lo puede resolver de la siguiente manera:

SELECT * FROM productos WHERE promo='si' ORDER BY RAND() LIMIT 1

Con esta sentencia extraigo un registro al asar de la tabla.

Gracias nuevamente y saludos a todos.
  #7 (permalink)  
Antiguo 17/02/2005, 11:20
 
Fecha de Ingreso: septiembre-2004
Mensajes: 26
Antigüedad: 20 años, 2 meses
Puntos: 0
y para que funcione en access? alguna idea?
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 23:12.