Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 30-jun-2004, 10:44   #1 (permalink)
Elalux está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 4.053
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.
Elalux está desconectado   Responder Citando
Antiguo 30-jun-2004, 10:50   #2 (permalink)
peloteitor ha deshabilitado el karma
 
Avatar de peloteitor
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona (España)
Mensajes: 841
Enviar un mensaje por MSN a peloteitor
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
peloteitor está desconectado   Responder Citando
Antiguo 30-jun-2004, 10:58   #3 (permalink)
Elalux está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 4.053
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.
Elalux está desconectado   Responder Citando
Antiguo 30-jun-2004, 20:27   #4 (permalink)
DeLaVega está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Ubicación: Bs. As. - Argentina
Mensajes: 445
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
DeLaVega está desconectado   Responder Citando
Antiguo 01-jul-2004, 05:40   #5 (permalink)
peloteitor ha deshabilitado el karma
 
Avatar de peloteitor
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona (España)
Mensajes: 841
Enviar un mensaje por MSN a peloteitor
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
peloteitor está desconectado   Responder Citando
Antiguo 01-jul-2004, 08:55   #6 (permalink)
Elalux está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 4.053
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.
Elalux está desconectado   Responder Citando
Antiguo 17-feb-2005, 10:20   #7 (permalink)
jmonvic ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2004
Mensajes: 26
y para que funcione en access? alguna idea?
jmonvic está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 20:28.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93