MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Hàm AVG () trong MariaDB

Trong MariaDB, AVG() hàm trả về giá trị trung bình của biểu thức đã cho.

DISTINCT có thể được sử dụng để trả về giá trị trung bình của các giá trị riêng biệt (tức là loại bỏ các giá trị trùng lặp trước khi tính giá trị trung bình).

NULL các giá trị bị bỏ qua.

Dữ liệu mẫu

Giả sử chúng ta có một bảng với dữ liệu sau:

SELECT 
    VendorId,
    ProductName,
    ProductPrice 
FROM Products;

Kết quả:

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

Ví dụ

Chúng ta có thể sử dụng truy vấn sau để lấy giá trung bình của tất cả các mức giá.

SELECT AVG(ProductPrice)
FROM Products;

Kết quả:

52.898750

Trong trường hợp này, thông tin giá được lưu trữ trong ProductPrice và vì vậy chúng tôi đã chuyển nó làm đối số cho AVG() hàm, sau đó tính giá trị trung bình và trả về kết quả.

Kết quả được lọc

AVG() hàm hoạt động trên các hàng được trả về bởi truy vấn. Vì vậy, nếu bạn lọc kết quả, kết quả là AVG() sẽ phản ánh điều đó.

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

Kết quả:

19.680000

Trong trường hợp này, 19.680000 là giá trung bình của tất cả các sản phẩm được cung cấp bởi nhà cung cấp được chỉ định.

DISTINCT Từ khóa

Bạn có thể sử dụng DISTINCT từ khóa với AVG() để chỉ tính các giá trị riêng biệt. Nghĩa là, nếu có bất kỳ giá trị trùng lặp nào, chúng được coi là một giá trị.

Ví dụ:

SELECT 
    AVG(ProductPrice) AS "All",
    AVG(DISTINCT ProductPrice) AS "Distinct"
FROM Products;

Kết quả:

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

Trong trường hợp này, hai mặt hàng có cùng mức giá (tuốc nơ vít thuận tay trái và tuốc nơ vít tay phải đều có giá 25,99). Do đó, AVG() , khi được sử dụng với DISTINCT từ khóa, coi cả hai giá trị đó là một và tính toán kết quả của nó cho phù hợp.

Chức năng cửa sổ

AVG() chức năng có thể được sử dụng trong các chức năng cửa sổ. Xem SQL AVG() cho người mới bắt đầu để biết một ví dụ về điều này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hoạt động của SOUNDS LIKE trong MariaDB

  2. Cách UNIX_TIMESTAMP () hoạt động trong MariaDB

  3. MariaDB JSON_ARRAY_INSERT () Giải thích

  4. 8 cách để thêm micro giây vào giá trị ngày giờ trong MariaDB

  5. Bốn điều bạn chưa biết về Amazon Aurora