MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Функция SUM() в MariaDB

В MariaDB, SUM() агрегатната функция връща сумата от даден израз.

Може също да се използва за връщане на сумата от всички различни (уникални) стойности в израз.

Синтаксис

Синтаксисът е така:

SUM([DISTINCT] expr)

Примерни данни

Да предположим, че имаме таблица, наречена Products със следните данни:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Резултат:

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

Пример

Можем да използваме следната заявка, за да получим сумата от всички цени.

SELECT SUM(ProductPrice)
FROM Products;

Резултат:

423.19

Тук информацията за цената се съхранява в ProductPrice колона и затова предаваме това като аргумент на SUM() функция, която след това изчислява сумата и връща резултата.

Филтрирани резултати

SUM() функцията работи с редовете, върнати от заявката. Така че, ако филтрирате резултатите, резултатът от SUM() ще отрази това.

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

Резултат:

78.72

В този случай 78,72 е сумата от всички продукти, предлагани от посочения доставчик.

DISTINCT Ключова дума

Можете да използвате DISTINCT ключова дума с SUM() за изчисляване само на различни стойности. Тоест, ако има дублиращи се стойности, те се третират като една стойност.

Пример:

SELECT SUM(DISTINCT ProductPrice)
FROM Products;

Резултат:

397.20

Нашата таблица съдържа два артикула с една и съща цена (отвертката за лява ръка и отвертката за дясна са на цена 25,99). DISTINCT ключова дума води до това, че и двете стойности се третират като една.

Функции на прозореца

Можем да използваме OVER клауза с SUM() функция за създаване на прозоречна функция. Вижте SQL SUM() за начинаещи за пример.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_DEPTH() Обяснено

  2. MariaDB JSON_EXTRACT() Обяснено

  3. Как работи FIELD() в MariaDB

  4. Как работи NOT RLIKE в MariaDB

  5. Планиране за аварийно възстановяване за MySQL и MariaDB