Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi AVG mengembalikan rata-rata (rata-rata aritmatika) dari nilai ekspresi masukan. Fungsi AVG bekerja dengan nilai numerik dan mengabaikan nilai NULL.
Sintaksis
AVG ( [ DISTINCT | ALL ] expression )
Argumen
- ekspresi
-
Kolom target atau ekspresi tempat fungsi beroperasi. Ekspresi adalah salah satu tipe data berikut:
SMALLINT
INTEGER
BIGINT
NUMERIC
DECIMAL
REAL
PRECISON GANDA
SUPER
- BERBEDA | SEMUA
-
Dengan argumen DISTINCT, fungsi menghilangkan semua nilai duplikat dari ekspresi yang ditentukan sebelum menghitung rata-rata. Dengan argumen ALL, fungsi mempertahankan semua nilai duplikat dari ekspresi untuk menghitung rata-rata. ALL adalah default.
Jenis Data
Tipe argumen yang didukung oleh fungsi AVG adalah SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION, dan SUPER.
Jenis pengembalian yang didukung oleh fungsi AVG adalah:
-
BIGINT untuk argumen tipe integer
-
PRESISI GANDA untuk argumen floating point
Mengembalikan tipe data yang sama sebagai ekspresi untuk jenis argumen lainnya.
Presisi default untuk hasil fungsi AVG dengan argumen NUMERIK atau DECIMAL adalah 38. Skala hasilnya sama dengan skala argumen. Misalnya, AVG kolom DEC (5,2) mengembalikan tipe data DEC (38,2).
Contoh
Temukan jumlah rata-rata yang terjual per transaksi dari tabel PENJUALAN:
select avg(qtysold)from sales;
avg
-----
2
(1 row)
Temukan harga total rata-rata yang tercantum untuk semua listing:
select avg(numtickets*priceperticket) as avg_total_price from listing;
avg_total_price
-----------------
3034.41
(1 row)
Temukan harga rata-rata yang dibayarkan, dikelompokkan berdasarkan bulan dalam urutan menurun:
select avg(pricepaid) as avg_price, month
from sales, date
where sales.dateid = date.dateid
group by month
order by avg_price desc;
avg_price | month
-----------+-------
659.34 | MAR
655.06 | APR
645.82 | JAN
643.10 | MAY
642.72 | JUN
642.37 | SEP
640.72 | OCT
640.57 | DEC
635.34 | JUL
635.24 | FEB
634.24 | NOV
632.78 | AUG
(12 rows)