É uma boa ideia utilizar Compute e Compute by no banco de dados MS SQL Server ?
Uma cláusula COMPUTE BY permite visualizar os detalhes e o resumo das linhas com uma instrução SELECT. Você pode calcular os valores resumidos de subgrupos, ou um valor resumido de todo o conjunto de resultados.
A cláusula COMPUTE usa as seguintes informações:
- A palavra-chave opcional BY. Com isso, calcula o agregado de linha especificado por coluna.
- Um nome de função de agregação de linha. Isso inclui SUM, AVG, MIN, MAX ou COUNT.
- Uma coluna na qual será executada a função de agregação de linha.
As cláusulas COMPUTE e COMPUTE BY são fornecidas para compatibilidade regressiva.
A Microsoft recomenda o uso dos seguintes componentes:
- SQL Server 2005 Analysis Services (SSAS) com OLE DB para Analysis Services ou Microsoft ActiveX Data Objects Multidimensional (ADO MD). Para obter mais informações, consulte Interfaces de acesso a dados do Analysis Services (Analysis Services – dados multidimensionais).
Exemplos Compute e Compute By
A instrução SELECT seguinte usa uma cláusula simples COMPUTE para produzir o total principal dos preços unitários e descontos da tabela SalesOrderDetail:
USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, UnitPrice, UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID
COMPUTE SUM(UnitPrice), SUM(UnitPriceDiscount);
A consulta seguinte adiciona a palavra-chave opcional BY à cláusula COMPUTE para produzir subtotais para todos os pedidos de vendas:
USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, UnitPrice, UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID
COMPUTE SUM(UnitPrice), SUM(UnitPriceDiscount) BY SalesOrderID;