sql >> Base de Datos >  >> RDS >> MariaDB

Función SUMA () en MariaDB

En MariaDB, el SUM() función agregada devuelve la suma de una expresión dada.

También se puede usar para devolver la suma de todos los valores distintos (únicos) en una expresión.

Sintaxis

La sintaxis es así:

SUM([DISTINCT] expr)

Datos de muestra

Supongamos que tenemos una tabla llamada Products con los siguientes datos:

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 |
+----------+---------------------------------+--------------+

Ejemplo

Podemos usar la siguiente consulta para obtener la suma de todos los precios.

SELECT SUM(ProductPrice)
FROM Products;

Resultado:

423.19

Aquí, la información de precios se almacena en el ProductPrice columna, y así lo pasamos como argumento a SUM() función, que luego calcula la suma y devuelve el resultado.

Resultados filtrados

El SUM() opera en las filas devueltas por la consulta. Entonces, si filtra los resultados, el resultado de SUM() reflejará eso.

SELECT SUM(ProductPrice)
FROM Products
WHERE VendorId = 1001;

Resultado:

78.72

En este caso, 78,72 es la suma de todos los productos ofrecidos por el proveedor especificado.

El DISTINCT Palabra clave

Puedes usar el DISTINCT palabra clave con SUM() para calcular sólo valores distintos. Es decir, si hay valores duplicados, se tratan como un solo valor.

Ejemplo:

SELECT SUM(DISTINCT ProductPrice)
FROM Products;

Resultado:

397.20

Nuestra tabla contiene dos artículos con el mismo precio (el destornillador para zurdos y el destornillador para diestros tienen un precio de 25,99). El DISTINCT La palabra clave da como resultado que ambos valores se traten como uno solo.

Funciones de ventana

Podemos usar un OVER cláusula con SUM() función para crear una función de ventana. Ver SQL SUM() para principiantes para ver un ejemplo.