AOWS

Just another adrian’s weblog

Registros aleatorios en MySQL

with 2 comments

Como bien sabemos, MySQL es un SGBD relacional, de modo que los registros no están almacenados siguiendo un orden determinado. Al recuperar los datos para procesarlos en nuestras aplicaciones lo más normal es hacerlo según su identificador o algún tipo de fecha (de creación, de edición…).

Sin embargo, a veces puede interesarnos recuperar los registros de forma aleatoria, por ejemplo a la hora de mostrar anuncios en la portada. En MySQL es así de sencillo:

[sql]
SELECT *
FROM anuncios
ORDER BY rand();
[/sql]

¿Y si queremos ordenarlos mediante otro campo, y recuperar los registros de igual prioridad aleatoriamente? Sólo hemos de cambiar la condición del order by para darle preferencia al campo deseado:

[sql]
SELECT *
FROM anuncios
ORDER BY prioridad desc, rand();
[/sql]

Written by adrian

9 agosto, 2007 a 15:55

Publicado en Posts

Tagged with

2 comentarios

Subscribe to comments with RSS.

  1. […] La función RAND() de MySQL, como de su nombre cabría esperar, sirve para la generación de números aleatorios. Hace unas semanas ya le sacamos utilidad: obtener registros aleatorios. […]

  2. quiero ingresar registros a una tabla con
    insert into Provincia
    values (“pro_codigo”,”pro_detalle”);

    bueno en los campos poner algo q los genere n cantidad de veces.
    cmo se hace uso mysql y jdbc en java con ide de eclipse.

    ramiro

    20 julio, 2008 at 22:32


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: