seleccionar registros orden obtener numero insertar fila datos contador aleatorios aleatorio sql database random

registros - ¿Cómo seleccionar aleatoriamente las filas en SQL?



seleccionar registros aleatorios oracle (8)

Aquí hay una buena solución específica de Microsoft SQL Server 2005. Se ocupa del problema en el que está trabajando con un gran conjunto de resultados (no es la pregunta que sé).

Selección de filas al azar desde una tabla grande http://msdn.microsoft.com/en-us/library/cc441928.aspx

Estoy usando MSSQL Server 2005. En mi db, tengo una tabla "customerNames" que tiene dos columnas "Id" y "Name" y aprox. 1,000 resultados

Estoy creando una funcionalidad donde tengo que elegir 5 clientes al azar cada vez. ¿Alguien puede decirme cómo crear una consulta que obtendrá 5 filas al azar (Id y Name) cada vez que se ejecute la consulta?


En caso de que alguien quiera una solución PostgreSQL:

select id, name from customer order by random() limit 5;


He encontrado que esto funciona mejor para big data.

`SELECT TOP 1 Column_Name FROM dbo.Table TABLESAMPLE(1 PERCENT);`

TABLESAMPLE(n ROWS) or TABLESAMPLE(n PERCENT) es aleatorio, pero necesita agregar TOP n para obtener el tamaño de muestra correcto.

Usar NEWID() es muy lento en tablas grandes.


SELECCIONAR * FROM TABLENAME ORDER BY random () LIMIT 5;



Tal vez link sea ​​de ayuda.

Para aquellos que no quieren hacer clic:

SELECT TOP 1 column FROM table ORDER BY NEWID()


SELECT TOP 5 Id, Name FROM customerNames ORDER BY NEWID()

Dicho esto, todos parecen ir a esta página para obtener una respuesta más general a su pregunta:

link

Seleccione una fila al azar con MySQL:

SELECT column FROM table ORDER BY RAND() LIMIT 1

Seleccione una fila al azar con PostgreSQL:

SELECT column FROM table ORDER BY RANDOM() LIMIT 1

Seleccione una fila al azar con Microsoft SQL Server:

SELECT TOP 1 column FROM table ORDER BY NEWID()

Seleccione una fila aleatoria con IBM DB2

SELECT column, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Seleccione un registro aleatorio con Oracle:

SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1

Seleccione una fila al azar con sqlite:

SELECT column FROM table ORDER BY RANDOM() LIMIT 1


SELECT TOP 5 Id, Name FROM customerNames ORDER BY NEWID()