PostgreSQL

Fungsi SQL PostgreSQL

Database open-source yang powerful dan populer. 16 fungsi tersedia.

Menampilkan 16 dari 16 fungsi dalam kategori Window

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