Sacar registros aleatorios con PHP/MySQL (función Rand() en mysql)

Bienvenidos a VerTutoriales.com, en esta ocasión y continuando con la programación de Dk Web, necesitaba sacar unos registros aleatorios para el escaparate de mi tienda, aunque podreis ordenar aleatoriamente los registros para cualquier cosa, incluso si necesitais para alguna aplicación ociosa como puede ser un juego, para ello utilizaremos la función Rand() de mysql.

Pero veamos como podemos hacer tal operación ya que en realidad es un parámetro más en nuestra consulta SELECT y no conlleva ninguna complicación.

Ya sabemos que para realizar una consulta utilizamos la siguiente forma:

SELECT * FROM tabla

Además, si queremos hacer una pequeña criba, tambien podemos añadirle el WHERE y condicionar la selección de registros de la siguiente manera:

SELECT * FROM tabla WHERE Tutorial = «Random en mysql»

Pero si quisieramos sacar todos los Tutoriales que fueran de forma aleatoria, tendríamos que ordenarlos de forma que utilizaremos Rand() para conseguirlo:

SELECT * FROM tabla WHERE TemaTutorial = «MySQL» ORDER BY RAND()

En esta última sentencia lo que estamos haciendo es sacar todos los campos que tengan como TemaTutorial el valor «MySQL» los recoja y luego los ordene de forma aleatoria con el Order by Rand(), de esta manera he conseguido que el escaparate de la tienda vaya mostrando cada vez que entren unos artículos diferentes ¿y vosotros para qué lo necesitais?

Carlos Dk

Apasionado por la enseñanza y el SEO

8 comentarios en “Sacar registros aleatorios con PHP/MySQL (función Rand() en mysql)

  • el 28 octubre, 2014 a las 7:22 pm
    Permalink

    a mi me gustaría obtener registros aleatorios para aplicar exámenes donde las preguntas no salgan en el mismo orden, para aplicar distintos evaluaciones con una misma batería de preguntas

    Respuesta
    • el 29 octubre, 2014 a las 9:01 am
      Permalink

      Buen uso Carlos

      Precisamente con esta consulta SQL puedes tomar los registros que quieras y que te los saque de forma aleatoria para el uso de preguntas en exámenes o en mi caso era para el escaparate de una tienda online 😉 Al poder hacer la consulta atacando también con un Where, conseguimos la versatilidad de MySQL y además añadiendo cierto «azar» a la consulta 😉

      Un saludo y gracias por comentar!

      Respuesta
  • el 29 octubre, 2014 a las 3:59 pm
    Permalink

    Gracias por tu pronta respuesta, intentare realizar la instrucción!

    Respuesta
  • el 29 octubre, 2014 a las 4:08 pm
    Permalink

    Te dejo un ejemplo por si te ayuda en tu query de MySQL

    SELECT * FROM TablaDePreguntas WHERE Tema = 1 ORDER BY RAND();

    En este caso traigo todas las preguntas de la tabla de preguntas que sean del tema 1 y las «ordendo» de forma aleatoria 😉

    Un saludo!

    Respuesta
  • el 4 agosto, 2017 a las 11:06 pm
    Permalink

    hola buenas tardes pero como aplicaria las preguntas y respuestas con un chebo utilizando php y mylsq

    Respuesta
    • el 11 agosto, 2017 a las 7:20 am
      Permalink

      No sé que es un «chebo», pero supongo que las preguntas las puedes sacar de forma aleatoria, o si es un tipo test, las respuestas sacarlas aleatorias siempre y cuando dejes la pregunta correcta claro :). Me explicas más en profundidad tu duda? 😀

      Respuesta
  • el 22 julio, 2020 a las 3:06 pm
    Permalink

    Holaa, yo lo utilizare para realizar un algoritmo que me permita realizar 20 registros distintos !! alguna idea?

    Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.