Suma (Transact-SQL)

Zwraca sumę wszystkich wartości lub tylko wartooci DISTINCT wyrażenie.Suma służy tylko do kolumn numerycznych.Wartości zerowe są ignorowane.Mogą być uzupełniane przez Klauzula OVER (Transact-SQL).

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

SUM ( [ ALL | DISTINCT ] expression )

Argumenty

  • ALL
    Dotyczy wszystkich wartościfunkcja wartość zagregowana. Jest wartością domyślną.

  • DISTINCT
    Określa, które suma zwraca sumę wartości unikatowe.

  • expression
    Jest stała, kolumnalub funkcjai dowolną kombinację arytmetyczny, bitowy i operatorów ciąg .expressionto wyrażenie kategorii typu dokładne dane liczbowe numerycznych lub przybliżonej z wyjątkiem bit typu danych.Funkcje agregujące i podkwerend nie są dozwolone.Aby uzyskać więcej informacji, zobacz Wyrażenia języka Transact-SQL).

Zwracane typy

Zwraca wartość Sumowanie wszystkich expression wartości w najbardziej precyzyjne expression typu danych.

Wyrażenie wyników

Zwracany typ

tinyint

int

smallint

int

int

int

bigint

bigint

decimalKategoria (p, s)

decimal(38, s)

moneyi smallmoney kategorii

money

floati real kategorii

float

Przykłady

A.Przy użyciu funkcji Suma dla agregatów i agregaty wiersza

Następujące przykłady przedstawiają różnice funkcji wartość zagregowana i funkcji wartość zagregowana wiersza.Pierwszy przedstawiono funkcje wartość zagregowana , podając wyłącznie dane sumaryczne, a drugi zawiera funkcje wartość zagregowana wierszy szczegółów i podsumowań danych.

USE AdventureWorks2008R2;
GO
SELECT Color, SUM(ListPrice), SUM(StandardCost)
FROM Production.Product
WHERE Color IS NOT NULL 
    AND ListPrice != 0.00 
    AND Name LIKE 'Mountain%'
GROUP BY Color
ORDER BY Color;
GO

Oto zestaw wyników.

Color

--------------- --------------------- ---------------------

Black 27404.84 15214.9616

Silver 26462.84 14665.6792

White 19.00 6.7926

(3 row(s) affected)

USE AdventureWorks2008R2;
GO
SELECT Color, ListPrice, StandardCost
FROM Production.Product
WHERE Color IS NOT NULL 
    AND ListPrice != 0.00 
    AND Name LIKE 'Mountain%'
ORDER BY Color
COMPUTE SUM(ListPrice), SUM(StandardCost) BY Color;
GO

Oto zestaw wyników.

Color ListPrice StandardCost

--------------- --------------------- ---------------------

Black 2294.99 1251.9813

Black 2294.99 1251.9813

Black 2294.99 1251.9813

Black 1079.99 598.4354

Black 1079.99 598.4354

Black 1079.99 598.4354

Black 1079.99 598.4354

Black 3374.99 1898.0944

Black 3374.99 1898.0944

Black 3374.99 1898.0944

Black 3374.99 1898.0944

Black 539.99 294.5797

Black 539.99 294.5797

Black 539.99 294.5797

Black 539.99 294.5797

Black 539.99 294.5797

sum sum

--------------------- ---------------------

27404.84 15214.9616

Color ListPrice StandardCost

--------------- --------------------- ---------------------

Silver 2319.99 1265.6195

Silver 2319.99 1265.6195

Silver 2319.99 1265.6195

Silver 3399.99 1912.1544

Silver 3399.99 1912.1544

Silver 3399.99 1912.1544

Silver 3399.99 1912.1544

Silver 769.49 419.7784

Silver 769.49 419.7784

Silver 769.49 419.7784

Silver 769.49 419.7784

Silver 564.99 308.2179

Silver 564.99 308.2179

Silver 564.99 308.2179

Silver 564.99 308.2179

Silver 564.99 308.2179

sum sum

--------------------- ---------------------

26462.84 14665.6792

Color ListPrice StandardCost

--------------- --------------------- ---------------------

White 9.50 3.3963

White 9.50 3.3963

sum sum

--------------------- ---------------------

19.00 6.7926

(37 row(s) affected)

B.Obliczanie sumy grup z więcej niż jedną kolumna

W poniższym przykładzie oblicza sumę ListPrice i StandardCost dla każdego koloru, wymienionych w Product tabela.

USE AdventureWorks2008R2;
GO
SELECT Color, SUM(ListPrice), SUM(StandardCost)
FROM Production.Product
GROUP BY Color
ORDER BY Color;
GO

Oto zestaw wyników.

Color

--------------- --------------------- ---------------------

NULL 4182.32 2238.4755

Black 67436.26 38636.5002

Blue 24015.66 14746.1464

Grey 125.00 51.5625

Multi 478.92 272.2542

Red 53274.10 32610.7661

Silver 36563.13 20060.0483

Silver/Black 448.13 198.97

White 36.98 13.5172

Yellow 34527.29 21507.6521

(10 row(s) affected)

Zobacz także

Odwołanie