Buscar este blog

miércoles, 10 de octubre de 2012

TABLESAMPLE, o cómo obtener una muestra aleatoria de registros de una tabla

¿Alguna vez has necesitado obtener una muestra de datos totalmente aleatoria de tu base de datos? En SQL Server es posible hacerlo, mediante la cláusula TABLESAMPLE, que se aplica a la definición del origen de datos que vamos a recuperar con la cláusula FROM.

TABLESAMPLE nos permite indicar un número de filas o un porcentaje de filas a devolver, de la siguiente manera:

--devuelve el 10% de las filas totales
--(dependiendo del tamaño de los registros en la base de datos, no del número de filas).
SELECT *
FROM YourTable
TABLESAMPLE (10 PERCENT) 
--devuelve una muestra de 15 filas del conjunto de resultados
SELECT *
FROM YourTable
TABLESAMPLE (15 ROWS) 

Algunas consideraciones a la hora de usar TABLESAMPLE incluyen:
  • No se puede usar en la definición de vistas
  • No se puede usar en la definición de funciones de tabla inline
  • No se puede aplicar a tablas devueltas por funciones tipo tabla

No hay comentarios:

Publicar un comentario