Agrupar por¶
En SQL, el GROUP BY
La declaración se usa 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 la capa empresarial de Vinyl.
Paso 1: Crear una Subconsulta¶
para aprovechar GROUP BY
en Vinyl, primero necesitarás crear una Subconsulta objeto que proporciona una función agregada. La regla de subconsulta también debe especificar las columnas que desea GROUP BY
. Si está familiarizado con SQL, puede confirmar la subconsulta GROUP BY
lógica viendo 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 se dirige a 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:
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 agregada, una la subconsulta a un objeto de negocio. Una vez creado el objeto comercial, puede usarlo para Publicar en la capa UI 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 Subconsulta, uniremos el Cliente (Grupo por Subconsulta) a la tabla Cliente y estableceremos una unión utilizando el campo clave común entre los dos objetos, que en este escenario es CustomerID.
Vista de pestaña Tablas:
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) )