Podsumowywanie danych za pomocą obliczeń i według obliczeń

Klauzule obliczeń i COMPUTE BY są przewidziane w zgodności z poprzednimi wersjami.Zamiast tego należy użyć następujących składników:

Klauzula COMPUTE BY pozwala zobaczyć szczegóły i Podsumowanie wierszy z jednej instrukcja SELECT.Można obliczać wartości podsumowań podgrup lub wartości podsumowania dla całej zestaw wyników.

klauzula obliczeń przyjmuje następujące informacje:

  • Opcjonalne według słów kluczowych.Spowoduje to obliczenie określonego wiersza wartość zagregowana na podstawie na kolumna.

  • A funkcja agregująca wiersze nazwy.Obejmuje to SUM, AVG, MIN, MAX lub liczba.

  • kolumna, na których można wykonywać funkcja agregująca wiersze.

Zestawy wyników generowanych przez komputerowe

Wartości podsumowań generowane przez komputerowe wyglądają jak zestawy oddzielnych wyniki w wynikach kwerendy.Wyniki kwerendy, które zawierają klauzula obliczeń są takie jak raport typu control-break.Jest to raport, którego wartości sumaryczne są kontrolowane przez grupowanie lub podziałów, które określisz.Mogą być wartości podsumowujące dla grup i można także obliczyć więcej niż jeden funkcja agregująca dla tej samej grupy.

Podczas obliczeń określi z opcjonalnej klauzula, istnieją dwa zestawy wyników dla każdej grupy, która kwalifikuje się do ZAZNACZANIA:

  • Pierwszy zestaw wyników dla każdej grupy ma zestaw wierszy szczegółów, które zawierają informacje lista wyboru dla tej grupy.

  • Drugi zestaw wyników dla każdej grupy ma jeden wiersz, który zawiera sumy częściowe funkcji agregujących, określony w klauzula obliczeń dla tej grupy.

Podczas obliczeń jest określona bez opcjonalnej według klauzula, istnieją dwa zestawy wyników dla wybierz:

  • Pierwszy zestaw wyników dla każdej grupy ma wszystkie wiersze szczegółów, które zawierają informacje o liście.

  • Drugi zestaw wyników zawiera jeden wiersz, który zawiera sumy z wartość zagregowana funkcji określonych w klauzula obliczeń.

Przykłady, które korzystają z obliczeń

Następujące SELECT instrukcja zastosowano prostą COMPUTE klauzula do wyprodukowania sumy jednostki cen i rabatów, z SalesOrderDetail tabela:

USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, UnitPrice, UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID
COMPUTE SUM(UnitPrice), SUM(UnitPriceDiscount);

Poniższa kwerenda dodaje opcjonalnej BY słowo kluczowe, aby COMPUTE klauzula do wyprodukowania sumy częściowe dla każdego zamówienia sprzedaży:

USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, UnitPrice, UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID
COMPUTE SUM(UnitPrice), SUM(UnitPriceDiscount) BY SalesOrderID;

Wyniki tej SELECT Instrukcja zwracać dwa zestawy wyników dla każdego zamówienia sprzedaży.Pierwszy zestaw wyników dla każdego zamówienia sprzedaży zawiera zestaw wierszy zawiera informacje określone w liście.Drugi zestaw wyników dla każdego zamówienia sprzedaży zawiera sumy częściowe dwóch SUM funkcjonuje w COMPUTE klauzula.

Ostrzeżenie

W niektórych narzędzi takich jak osql, wielu częściowej lub całkowitej wartość zagregowana streszczenia pojawia się, jak w przypadku każdej sumie częściowej jest oddzielny wiersz zestaw wyników.Przyczyną jest sposób narzędzie formatuje dane wyjściowe; agregaty częściowej lub całkowitej są zwracane w jednym wierszu.Inne aplikacje, takie jak SQL Server Management Studio, format wielu zagregowanych, w tym samym wierszu.

Porównanie obliczeń do według grupy

Poniżej zestawiono różnice między obliczeń i Grupuj według:

  • Grupuj według daje pojedyncze zestaw wyników.Istnieje jeden wiersz dla każdej grupowanie zawierające tylko kolumn grupowanie i wartość zagregowana funkcje, które pokazują subwartość zagregowana dla tej grupowanie.Wybierz lista może zawierać tylko kolumn grupowanie i wartość zagregowana funkcji.

  • KOMPUTEROWE daje wiele zestawów wyników.Jeden rodzaj zestaw wyników zawiera wiersze szczegółów dla każdej grupy zawierające wyrażenia z listy select.Typ zestaw wyników zawiera subaggregate dla grupy lub sumy wartość zagregowana dla instrukcja SELECT.Wybierz lista może zawierać wyrażenia innych niż kolumn grupowanie lub wartość zagregowana funkcji.wartość zagregowana Funkcje są określone w klauzula obliczeń nie na liście select.

Następujące kwerendy używa GROUP BY i wartość zagregowana funkcje.Kwerenda zwraca jeden zestaw wyników zawierający jeden wiersz na grupę zawierającą wartość zagregowana sumy cząstkowe dla tej grupy:

USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, SUM(UnitPrice), SUM(UnitPriceDiscount)
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID;

Ostrzeżenie

Nie można dołączać ntext, text, lub image typów danych obliczeń lub COMPUTE BY klauzula.

Zobacz także

Odwołanie

Koncepcje