Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Fungsi MEDIAN - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi MEDIAN

Menghitung nilai median untuk rentang nilai. NULLnilai dalam rentang diabaikan.

MEDIAN adalah fungsi distribusi terbalik yang mengasumsikan model distribusi kontinu.

Median adalah kasus khusus. PERSENTILE_CONT

Sintaks

MEDIAN(median_expression)

Argumen

median_expression

Kolom target atau ekspresi tempat fungsi beroperasi.

Jenis data

Jenis pengembalian ditentukan oleh tipe data median_expression. Tabel berikut menunjukkan tipe kembali untuk setiap tipe data median_expression.

Jenis masukan Jenis pengembalian
INT2, INT4, INT8, NUMERIC, DECIMAL DECIMAL
FLOAT, DOUBLE DOUBLE
DATE DATE
TIMESTAMP TIMESTAMP
TIMESTAMPTZ TIMESTAMPTZ

Catatan penggunaan

Jika argumen median_expression adalah tipe DECIMAL data yang didefinisikan dengan presisi maksimum 38 digit, ada kemungkinan MEDIAN akan mengembalikan hasil yang tidak akurat atau kesalahan. Jika nilai pengembalian fungsi MEDIAN melebihi 38 digit, hasilnya terpotong agar sesuai, yang menyebabkan hilangnya presisi. Jika, selama interpolasi, hasil antara melebihi presisi maksimum, luapan numerik terjadi dan fungsi mengembalikan kesalahan. Untuk menghindari kondisi ini, sebaiknya gunakan tipe data dengan presisi lebih rendah atau mentransmisikan argumen median_expression ke presisi yang lebih rendah.

Jika pernyataan menyertakan beberapa panggilan ke fungsi agregat berbasis sortir (LISTAGG, PERCENTILE_CONT, atau MEDIAN), semuanya harus menggunakan nilai ORDER BY yang sama. Perhatikan bahwa MEDIAN menerapkan urutan implisit oleh pada nilai ekspresi.

Misalnya, pernyataan berikut mengembalikan kesalahan.

SELECT TOP 10 salesid, SUM(pricepaid), PERCENTILE_CONT(0.6) WITHIN GROUP(ORDER BY salesid), MEDIAN(pricepaid) FROM sales GROUP BY salesid, pricepaid; An error occurred when executing the SQL command: SELECT TOP 10 salesid, SUM(pricepaid), PERCENTILE_CONT(0.6) WITHIN GROUP(ORDER BY salesid), MEDIAN(pricepaid) FROM sales GROUP BY salesid, pricepaid; ERROR: within group ORDER BY clauses for aggregate functions must be the same

Pernyataan berikut berjalan dengan sukses.

SELECT TOP 10 salesid, SUM(pricepaid), PERCENTILE_CONT(0.6) WITHIN GROUP(ORDER BY salesid), MEDIAN(salesid) FROM sales GROUP BY salesid, pricepaid;

Contoh

Contoh berikut menggunakan database sampel TICKIT. Untuk informasi selengkapnya, lihat Database sampel.

Contoh berikut menunjukkan bahwa MEDIAN menghasilkan hasil yang sama seperti PERCENTILE_CONT (0.5).

SELECT TOP 10 DISTINCT sellerid, qtysold, PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY qtysold), MEDIAN(qtysold) FROM sales GROUP BY sellerid, qtysold; +----------+---------+-----------------+--------+ | sellerid | qtysold | percentile_cont | median | +----------+---------+-----------------+--------+ | 2 | 2 | 2 | 2 | | 26 | 1 | 1 | 1 | | 33 | 1 | 1 | 1 | | 38 | 1 | 1 | 1 | | 43 | 1 | 1 | 1 | | 48 | 2 | 2 | 2 | | 48 | 3 | 3 | 3 | | 77 | 4 | 4 | 4 | | 85 | 4 | 4 | 4 | | 95 | 2 | 2 | 2 | +----------+---------+-----------------+--------+

Contoh berikut menemukan jumlah median yang dijual untuk setiap sellerid.

SELECT sellerid, MEDIAN(qtysold) FROM sales GROUP BY sellerid ORDER BY sellerid LIMIT 10; +----------+--------+ | sellerid | median | +----------+--------+ | 1 | 1.5 | | 2 | 2 | | 3 | 2 | | 4 | 2 | | 5 | 1 | | 6 | 1 | | 7 | 1.5 | | 8 | 1 | | 9 | 4 | | 12 | 2 | +----------+--------+

Untuk memverifikasi hasil kueri sebelumnya untuk sellerid pertama, gunakan contoh berikut.

SELECT qtysold FROM sales WHERE sellerid=1; +---------+ | qtysold | +---------+ | 2 | | 1 | +---------+

Topik berikutnya:

MIN

Topik sebelumnya:

MAX
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.