Saltar al contenido

Agrupar por

En SQL, el GROUP BYLa declaración se utiliza con funciones agregadas (COUNT(), MAX(), MIN(), SUM(), AVG()) para agrupar las filas resultantes por una o más columnas. Este artículo explicará cómo utilizar GROUP BY en App Builder capa de negocio de.

Paso 1: Crear una Subconsulta

Para aprovechar GROUP BY en App Builder, primero deberá crear una Subconsulta objeto que proporciona una función de agregación. La regla de subconsulta también debe especificar las columnas que desea GROUP BYSi está familiarizado con SQL, puede confirmar la subconsulta GROUP BY lógica visualizando la pestaña SQL disponible en la pantalla Regla en la capa empresarial.

Ejemplo de Regla de Subconsulta

En este ejemplo, crearemos una regla de subconsulta denominada Cliente (Agrupar por subconsulta) que tenga como objetivo la tabla Cliente. Esta regla proporcionará una COUNT() función agregada e incluir las columnas que queremos GROUP BY, que son CustomerID y ProductName.

Vista de la pestaña Columnas:

vistacolumnas.png

Vista de pestaña SQL:

SELECT 
       C.ProductName AS ProductName,
       Count(1) AS Count,
       C.CustomerID AS CustomerID
 FROM     
       Customer AS C 
 GROUP BY 
      C.ProductName, 
C.CustomerID 

Paso 2: Unir la Subconsulta a un Objeto Comercial

Después de tener una subconsulta con una función de agregación, únala a un objeto comercial. Una vez creado el objeto comercial, puede usarlo para publicarlo en la capa de interfaz de usuario y exponer los datos y la información resultantes en una página de la aplicación.

Ejemplo de Regla de Objeto Comercial

Siguiendo el ejemplo de la subconsulta, uniremos la tabla Cliente (Agrupar por subconsulta) a la tabla Cliente y estableceremos una unión utilizando el campo de clave común entre los dos objetos, que en este escenario es CustomerID.

Vista de pestaña de tablas:

capa de publicación.png

Vista de pestaña SQL:

SELECT 
       C.CustomerID AS CustomerID,
       C.ProductName AS ProductName,
       C.OrderDate AS OrderDate
 FROM     
       "Customer (Group By Subquery)" AS CGBS 
           INNER JOIN  
       Customer AS C ON 
       ( (CGBS.CustomerID = C.CustomerID ) )