PostgreSQL
Window16 fungsi

Fungsi Window PostgreSQL

Fungsi analitik untuk perhitungan berbasis baris. Temukan semua 16 fungsi window di PostgreSQL lengkap dengan syntax, contoh, dan penjelasan bahasa Indonesia.

16 fungsi window di PostgreSQL

← Semua fungsi PostgreSQL

AVG (window)

Window

Menghitung rata-rata dalam window frame. Berguna untuk moving average dan cumulative average.

Tipe hasil: numeric/double precision

COUNT (window)

Window

Menghitung jumlah baris dalam window frame. Bisa dengan PARTITION BY untuk grouping dan ORDER BY untuk running count.

Tipe hasil: bigint

CUME_DIST

Window

Menghitung cumulative distribution (0 < x <= 1). Formula: jumlah baris dengan nilai <= baris ini / total baris. Berbeda dengan PERCENT_RANK, CUME_DIST tidak pernah 0.

Tipe hasil: double precision

DENSE_RANK

Window

Memberikan ranking tanpa gap. Berbeda dengan RANK yang membuat gap setelah nilai sama, DENSE_RANK melanjutkan dengan angka berikutnya. Berguna untuk top-N queries.

Tipe hasil: bigint

FIRST_VALUE

Window

Mengembalikan nilai pertama dalam window frame. Berguna untuk mengambil nilai awal, baseline, atau referensi dalam perbandingan.

Tipe hasil: same as input

LAG

Window

Mengakses nilai dari baris sebelumnya dalam result set berdasarkan offset tertentu. Sangat berguna untuk perbandingan dengan periode sebelumnya.

Tipe hasil: same as expression

LAST_VALUE

Window

Mengembalikan nilai terakhir dalam window frame. PENTING: Tanpa frame clause eksplisit, hanya melihat sampai baris saat ini. Gunakan UNBOUNDED FOLLOWING untuk nilai terakhir sesungguhnya.

Tipe hasil: same as input

LEAD

Window

Mengakses nilai dari baris selanjutnya dalam result set. Kebalikan dari LAG.

Tipe hasil: same as expression

MAX (window)

Window

Mencari nilai maksimum dalam window frame. Berguna untuk running maximum atau maximum per partition.

Tipe hasil: same as input

MIN (window)

Window

Mencari nilai minimum dalam window frame. Berguna untuk running minimum atau minimum per partition.

Tipe hasil: same as input

NTH_VALUE

Window

Mengembalikan nilai pada posisi ke-n dalam window frame. Mengembalikan NULL jika tidak ada cukup baris. n dimulai dari 1.

Tipe hasil: same as input

NTILE

Window

Membagi data menjadi n bucket/grup dengan jumlah anggota seimbang. Berguna untuk analisis quartile, percentile, dan segmentasi data.

Tipe hasil: integer

PERCENT_RANK

Window

Menghitung relative rank sebagai persentase (0 sampai 1). Formula: (rank - 1) / (total_rows - 1). Baris pertama selalu 0, baris terakhir selalu 1.

Tipe hasil: double precision

RANK

Window

Memberikan ranking untuk setiap baris. Baris dengan nilai sama mendapat rank yang sama, dengan gap setelahnya.

Tipe hasil: bigint

ROW_NUMBER

Window

Memberikan nomor urut unik untuk setiap baris dalam partition, dimulai dari 1. Nomor tidak pernah duplikat dalam satu partition.

Tipe hasil: bigint

SUM (window)

Window

Menghitung jumlah kumulatif dalam window frame. Berguna untuk running totals dan moving sums.

Tipe hasil: same as input