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

mostrar registros de una tabla de forma aleatoria

Estas en el tema de mostrar registros de una tabla de forma aleatoria en el foro de Bases de Datos General en Foros del Web. Saludos, de que forma puedo hacer para mostrar los datos de una tabla mysql de forma que las filas las seleccione de un modo aleatorio??? ...
  #1 (permalink)  
Antiguo 22/10/2004, 12:11
Avatar de sfx4ever  
Fecha de Ingreso: noviembre-2003
Ubicación: aqui
Mensajes: 384
Antigüedad: 20 años, 5 meses
Puntos: 2
mostrar registros de una tabla de forma aleatoria

Saludos, de que forma puedo hacer para mostrar los datos de una tabla mysql de forma que las filas las seleccione de un modo aleatorio???

Gracias.-
  #2 (permalink)  
Antiguo 22/10/2004, 13:24
 
Fecha de Ingreso: agosto-2004
Ubicación: Valencia
Mensajes: 149
Antigüedad: 19 años, 9 meses
Puntos: 0
Simplemente debes hacer una consulta y al final poner de esa consulta poner el orden siguiente:
ORDER BY rand()
Salu2.
__________________
www.adimensional.info Adimensional
www.cientosderecetas.com Cientos de recetas
  #3 (permalink)  
Antiguo 25/10/2004, 10:36
Avatar de sfx4ever  
Fecha de Ingreso: noviembre-2003
Ubicación: aqui
Mensajes: 384
Antigüedad: 20 años, 5 meses
Puntos: 2
ok, gracias, funciona bien pero tiene un detalle, y es que me saca registros repetidos.

Mi sentecia es esta:

SELECT * FROM $TableName WHERE tema=$idt ORDER BY rand()

Creo que habia una clausula sql: DISTINCT que evita mostrar registros repetidos, pero no se como funciona, ¿me podeis echar una mano? Gracias de nuevo
  #4 (permalink)  
Antiguo 25/10/2004, 11:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
El "DISTINCT" lo debes usar en tu "SELECT" .. tomando en considereción que si usas un * ... el campo tomado para que sea "distinto" será el primero que tengas en tu tabla (estructura) descrito .. (ID? .. autonumético y único?):

SELECT DISTINCT * FROM $TableName WHERE tema=$idt ORDER BY rand()

SI "distinto" ha de ser otro campo . .por ejemplo un "nombre" o "nick" o algo así .. usalo tipo:

SELECT DISTINCT campo,otroscampos FROM $TableName WHERE tema=$idt ORDER BY rand()

Un saludo,


PD: Aprovecho para mover el mensaje al foro de "Base de datos" para que te orienten al respecto por si hay dudas.
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 15:30.