Saltar al contenido

Devuelve una Fila Aleatoria de una Tabla

A continuación, se incluye una guía rápida de procedimientos que le permite devolver una fila aleatoria de cualquier tabla, lo que puede resultar útil para realizar pruebas de muestreo:

  1. En la capa de lógica de negocios, cree un objeto de negocios que genere números de fila sobre las claves principales de la tabla deseada.

    • Por ejemplo: Cliente (Generar número de fila) es un objeto que selecciona la clave principal de la tabla y tiene un valor de expresión que genera el número de fila con esta sintaxis de tipo:

      ${ROW_NUMBER() OVER(ORDER BY C.CustomerID)}

  2. Cree otro objeto comercial que seleccione el número máximo de filas utilizando los resultados del paso 1

    • Por ejemplo: Cliente (número máximo de filas) es un objeto que utiliza el objeto del paso 1 y tiene un valor de expresión que proporciona el valor del número máximo de filas con esta sintaxis de tipo:

      MAX(CGRN.RowNum)

  3. Cree un nuevo objeto comercial que combine los objetos creados en los pasos 1 y 2, y luego use la función RAND() para generar un número desde 1 hasta ese número máximo, y filtre donde el número aleatorio generado = número de fila. Realice una unión cruzada en los dos objetos utilizados en esta regla.

    • Por ejemplo: Esta regla tiene las siguientes columnas definidas:

      • ROW.CustomerID
      • MAX.MaxRowNum
      • ${FLOOR(RAND() * (MAX.MaxRowNum + 1))