SQL selección aleatoria de base de datos

¿Cómo se realiza la instrucción con SQL para realizar una selección aleatoria de un listado?.
Por ejemplo, quiero extraer aleatoriamente 100 nombres de un listado de 10000. Luego probablemente necesite imponer ciertas condiciones, pero mi primera consulta es por la aleatoriedad, ¿cuál es la instrucción?
Tengo un texto que dice ' insert into AA select top 100 from BB ' (y otros detalles más), pero como no sé de estas cosas no estoy seguro que que "select top" seleccione 100 elementos de BB y los lleve a AA, DE MANERA ALEATORIA
¿Alguien puede orientarme?

1 respuesta

Respuesta
1
Para SQL Server puedes utilizar la función newid() en el order by. Tu sentencia insert quedaría algo así:
insert into AA
select top 100 *
From BB
Order by newid()
Para MySQL utiliza Rand( )
insert into AA
select top 100 *
From BB
Order by Rand()
Muchas gracias, me has orientado bastante, pero a raíz de tu respuesta y leyendo lo que tengo aquí se me genera una pequeña duda más:
Me sugieres order by newid/rand según el SQL, en lo que me han dado dice "order by orden" ¿existe una instrucción llamada "orden"? No me parece... debe ser una variable de la base de datos. ¿Qué crees?
No existe una instrucción con ese nombre. Si fuera una variable en SQL Server éstas comienzan con @ (@orden). Más bien pudiera ser que en tu tabla exista un campo (columna) que tenga ese nombre. Otra puede ser que sea solo la indicación de que en donde dice orden pongas los campos (o expresiones) por los que deseas ordenar la instrucción.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas