Ir para o conteúdo

Agrupar por

Em SQL, o GROUP BYa declaração é usada com funções agregadas (COUNT(), MAX(), MIN(), SUM(), AVG()) para agrupar as linhas resultantes por uma ou mais colunas. Este artigo explicará como usar GROUP BY em App Builder camada de negócios do.

Etapa 1: Crie uma Subconsulta

Para alavancar GROUP BY em App Builder, primeiro você precisará criar uma Subconsulta objeto que fornece uma função agregada. A regra Subquery também deve especificar as colunas que você deseja GROUP BY. Se você estiver familiarizado com SQL, você pode confirmar a Subconsulta GROUP BY lógica visualizando a aba SQL disponível na tela Regra na Camada de Negócios.

Exemplo de Regra de Subconsulta

Neste exemplo, criaremos uma regra de Subconsulta chamada Customer (Group By Subquery) que tem como alvo a tabela Customer. Esta regra fornecerá uma COUNT() função agregada e incluir as colunas que queremos GROUP BY, que são CustomerID e ProductName.

Visualização da aba Colunas:

columnsview.png

Visualização da aba SQL:

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

Etapa 2: Junte a Subconsulta a um Objeto Comercial

Depois de ter uma Subconsulta com uma função agregada, junte a Subconsulta a um Objeto de negócios. Depois que o Business Object for criado, você pode usá-lo para Publicar na Camada de IU e expor os dados e informações resultantes em uma página do aplicativo.

Exemplo de Regra de Objeto de Negócios

Seguindo o exemplo da Subconsulta, uniremos o Cliente (Agrupar por Subconsulta) à tabela Cliente e estabeleceremos uma junção usando o campo de chave comum entre os dois objetos, que neste cenário é CustomerID.

Visualização da aba Tabelas:

publishuilayer.png

Visualização da aba 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 ) )