Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
APPROXIMATEPERCENTILE_ DISC fungsi
APPROXIMATEPERCENTILE_ DISC adalah fungsi distribusi terbalik yang mengasumsikan model distribusi diskrit. Dibutuhkan nilai persentil dan spesifikasi semacam dan mengembalikan elemen dari set yang diberikan. Pendekatan memungkinkan fungsi berjalan lebih cepat, dengan kesalahan relatif rendah sekitar 0,5 persen.
Untuk nilai persentil tertentu, APPROXIMATE PERCENTILE _ DISC menggunakan algoritma ringkasan kuantil untuk memperkirakan persentil diskrit ekspresi dalam klausa BY. ORDER APPROXIMATEPERCENTILE_ DISC mengembalikan nilai dengan nilai distribusi kumulatif terkecil (sehubungan dengan spesifikasi jenis yang sama) yang lebih besar dari atau sama dengan persentil.
APPROXIMATEPERCENTILE_ DISC adalah fungsi compute-node saja. Fungsi mengembalikan kesalahan jika kueri tidak mereferensikan tabel atau tabel AWS Clean Rooms sistem yang ditentukan pengguna.
Sintaks
APPROXIMATE PERCENTILE_DISC ( percentile ) WITHIN GROUP (ORDER BY expr)
Argumen
- persentil
-
Konstanta numerik antara 0 dan 1. Null diabaikan dalam perhitungan.
- WITHINGROUP(ORDERDENGAN expr)
-
Klausul yang menentukan nilai numerik atau tanggal/waktu untuk mengurutkan dan menghitung persentil atas.
Pengembalian
Tipe data yang sama ORDER dengan ekspresi BY dalam WITHIN GROUP klausa.
Catatan penggunaan
Jika DISC pernyataan APPROXIMATE PERCENTILE _ menyertakan klausa GROUP BY, kumpulan hasil terbatas. Batas bervariasi berdasarkan jenis node dan jumlah node. Jika batas terlampaui, fungsi gagal dan mengembalikan kesalahan berikut.
GROUP BY limit for approximate percentile_disc exceeded.
Jika Anda perlu mengevaluasi lebih banyak grup daripada batas izin, pertimbangkan untuk menggunakannyaPERCENTILE_ CONT fungsi.
Contoh
Contoh berikut mengembalikan jumlah penjualan, total penjualan, dan nilai persentil kelima puluh untuk 10 tanggal teratas.
select top 10 date.caldate, count(totalprice), sum(totalprice), approximate percentile_disc(0.5) within group (order by totalprice) from listing join date on listing.dateid = date.dateid group by date.caldate order by 3 desc; caldate | count | sum | percentile_disc -----------+-------+------------+---------------- 2008-01-07 | 658 | 2081400.00 | 2020.00 2008-01-02 | 614 | 2064840.00 | 2178.00 2008-07-22 | 593 | 1994256.00 | 2214.00 2008-01-26 | 595 | 1993188.00 | 2272.00 2008-02-24 | 655 | 1975345.00 | 2070.00 2008-02-04 | 616 | 1972491.00 | 1995.00 2008-02-14 | 628 | 1971759.00 | 2184.00 2008-09-01 | 600 | 1944976.00 | 2100.00 2008-07-29 | 597 | 1944488.00 | 2106.00 2008-07-23 | 592 | 1943265.00 | 1974.00