MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Funkcja AVG() w MariaDB

W MariaDB funkcja AVG() funkcja zwraca średnią wartość podanego wyrażenia.

DISTINCT opcja może być użyta do zwrócenia średniej z odrębnych wartości (tj. Usuń duplikaty przed obliczeniem średniej).

NULL wartości są ignorowane.

Przykładowe dane

Załóżmy, że mamy tabelę 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                   |        33.49 |
|     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ć średnią wszystkich cen.

SELECT AVG(ProductPrice)
FROM Products;

Wynik:

52.898750

W takim przypadku informacje o cenie są przechowywane w ProductPrice kolumna, więc przekazaliśmy to jako argument do AVG() funkcja, która następnie obliczyła średnią i zwróciła wynik.

Przefiltrowane wyniki

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

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

Wynik:

19.680000

W tym przypadku 19.680000 to średnia cena wszystkich produktów oferowanych przez określonego dostawcę.

DISTINCT Słowo kluczowe

Możesz użyć DISTINCT słowo kluczowe z AVG() 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 
    AVG(ProductPrice) AS "All",
    AVG(DISTINCT ProductPrice) AS "Distinct"
FROM Products;

Wynik:

+-----------+-----------+
| All       | Distinct  |
+-----------+-----------+
| 52.898750 | 56.742857 |
+-----------+-----------+

W tym przypadku dwa produkty mają tę samą cenę (wkrętak lewy i śrubokręt praworęczny mają cenę 25,99). Dlatego AVG() funkcja, gdy jest używana z DISTINCT słowo kluczowe, traktuje obie te wartości jako jedną i odpowiednio oblicza wynik.

Funkcje okien

AVG() funkcja może być używana w funkcjach okien. Zobacz SQL AVG() dla początkujących na przykład tego.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa PRAWO() w MariaDB

  2. 6 sposobów na dodanie roku do randki w MariaDB

  3. 2 sposoby na uzyskanie skróconej nazwy miesiąca z daty w MariaDB

  4. Ogłaszamy obsługę MariaDB 10.2 — ClusterControl 1.5

  5. Automatyzacja sprawdzania obiektów schematu bazy danych