Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Funkcja SUM() w MySQL

W MySQL funkcja SUM() funkcja agregująca zwraca sumę danego wyrażenia.

Może być również użyty do zwrócenia sumy wszystkich odrębnych (unikalnych) wartości w wyrażeniu.

Składnia

Składnia wygląda tak:

SUM([DISTINCT] expr) [over_clause]

Przykładowe dane

Załóżmy, że mamy tabelę o nazwie Products z następującymi danymi:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Wynik:

+----------+---------------------------------+--------------+
| 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                   |         NULL |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

Przykład

Możemy użyć następującego zapytania, aby uzyskać sumę wszystkich cen.

SELECT SUM(ProductPrice)
FROM Products;

Wynik:

389.70

Tutaj informacje o cenie są przechowywane w ProductPrice kolumna, więc przekazujemy to jako argument do SUM() funkcja, która następnie oblicza sumę i zwraca wynik.

Wartości puste

SUM() funkcja ignoruje wszelkie wartości NULL. W naszej przykładowej tabeli powyżej młot ma wartość NULL w swojej ProductPrice kolumna, ale zostało to zignorowane w obliczeniach.

Przefiltrowane wyniki

SUM() funkcja działa na wierszach zwróconych przez zapytanie. Więc jeśli filtrujesz wyniki, wyjście SUM() odzwierciedli to.

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

Wynik:

78.72

W tym przypadku 78,72 to suma wszystkich produktów oferowanych przez określonego dostawcę.

DISTINCT Słowo kluczowe

Możesz użyć DISTINCT słowo kluczowe z SUM() aby obliczyć tylko różne wartości. Oznacza to, że jeśli istnieją jakiekolwiek zduplikowane wartości, są one traktowane jako jedna wartość.

Przykład:

SELECT SUM(DISTINCT ProductPrice)
FROM Products;

Wynik:

363.71

Nasz stół zawiera dwie pozycje w tej samej cenie (wkrętak leworęczny i śrubokręt praworęczny mają cenę 25,99). DISTINCT słowo kluczowe powoduje, że obie te wartości są traktowane jako jedna.

Funkcje okien

Możemy użyć OVER klauzula z SUM() funkcja, aby utworzyć funkcję okna. Zobacz SQL SUM() dla początkujących na przykład.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd synchronizacji poleceń PHP

  2. MYSQL UPUŚĆ WIDOK

  3. POKAŻ TABELE w MySQL

  4. Sortowanie według daty i godziny w porządku malejącym?

  5. Typ MySQL ENUM a dołączanie tabel