Di MariaDB, AVG()
fungsi mengembalikan nilai rata-rata dari ekspresi yang diberikan.
DISTINCT
opsi dapat digunakan untuk mengembalikan rata-rata dari nilai yang berbeda (yaitu menghapus duplikat sebelum menghitung rata-rata).
NULL
nilai diabaikan.
Contoh Data
Misalkan kita memiliki tabel dengan data berikut:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Hasil:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Contoh
Kita dapat menggunakan kueri berikut untuk mendapatkan rata-rata dari semua harga.
SELECT AVG(ProductPrice)
FROM Products;
Hasil:
52.898750
Dalam hal ini, informasi harga disimpan di ProductPrice
kolom, jadi kami meneruskannya sebagai argumen ke AVG()
fungsi, yang kemudian menghitung rata-rata dan mengembalikan hasilnya.
Hasil yang Difilter
AVG()
fungsi beroperasi pada baris yang dikembalikan oleh kueri. Jadi jika Anda memfilter hasilnya, hasil AVG()
akan mencerminkan hal itu.
SELECT AVG(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Hasil:
19.680000
Dalam hal ini, 19,680000 adalah harga rata-rata dari semua produk yang ditawarkan oleh vendor tertentu.
Yang DISTINCT
Kata kunci
Anda dapat menggunakan DISTINCT
kata kunci dengan AVG()
untuk menghitung hanya nilai yang berbeda. Artinya, jika ada nilai duplikat, mereka diperlakukan sebagai satu nilai.
Contoh:
SELECT
AVG(ProductPrice) AS "All",
AVG(DISTINCT ProductPrice) AS "Distinct"
FROM Products;
Hasil:
+-----------+-----------+ | All | Distinct | +-----------+-----------+ | 52.898750 | 56.742857 | +-----------+-----------+
Dalam hal ini, dua item memiliki harga yang sama (obeng tangan kiri dan obeng tangan kanan sama-sama dihargai 25,99). Oleh karena itu, AVG()
fungsi, bila digunakan dengan DISTINCT
kata kunci, memperlakukan kedua nilai tersebut sebagai satu, dan menghitung hasilnya sesuai dengan itu.
Fungsi Jendela
AVG()
fungsi dapat digunakan dalam fungsi jendela. Lihat SQL AVG()
untuk Pemula untuk contoh ini.