MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Função SUM() no MariaDB


No MariaDB, o SUM() A função agregada retorna a soma de uma determinada expressão.

Ele também pode ser usado para retornar a soma de todos os valores distintos (exclusivos) em uma expressão.

Sintaxe


A sintaxe fica assim:
SUM([DISTINCT] expr)

Dados de amostra


Suponha que tenhamos uma tabela chamada Products com os seguintes dados:
SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Resultado:
+----------+---------------------------------+--------------+
| VendorId | ProductName                     | ProductPrice |
+----------+---------------------------------+--------------+
|     1001 | Left handed screwdriver         |        25.99 |
|     1001 | Right handed screwdriver        |        25.99 |
|     1001 | Long Weight (blue)              |        14.75 |
|     1001 | Long Weight (green)             |        11.99 |
|     1002 | Sledge Hammer                   |        33.49 |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

Exemplo


Podemos usar a seguinte consulta para obter a soma de todos os preços.
SELECT SUM(ProductPrice)
FROM Products;

Resultado:
423.19

Aqui, as informações de preço são armazenadas no ProductPrice coluna, e então passamos isso como um argumento para o SUM() função, que então calcula a soma e retorna o resultado.

Resultados filtrados


A SUM() A função opera nas linhas retornadas pela consulta. Então, se você filtrar os resultados, o resultado de SUM() vai refletir isso.
SELECT SUM(ProductPrice)
FROM Products
WHERE VendorId = 1001;

Resultado:
78.72

Nesse caso, 78,72 é a soma de todos os produtos oferecidos pelo fornecedor especificado.

O DISTINCT Palavra-chave


Você pode usar o DISTINCT palavra-chave com SUM() para calcular apenas valores distintos. Ou seja, se houver valores duplicados, eles serão tratados como um valor.

Exemplo:
SELECT SUM(DISTINCT ProductPrice)
FROM Products;

Resultado:
397.20

Nossa tabela contém dois itens com o mesmo preço (a chave de fenda para canhotos e a chave de fenda para destros custam 25,99). O DISTINCT palavra-chave resulta em ambos os valores sendo tratados como um.

Funções da janela


Podemos usar um OVER cláusula com a SUM() função para criar uma função de janela. Veja SQL SUM() para Iniciantes para um exemplo.