DuckDB

Fungsi SQL DuckDB

Database analitik in-process yang cepat. 25 fungsi tersedia.

Menampilkan 24 dari 25 fungsi dalam kategori Aggregate

ANY_VALUE

Aggregate

Mengembalikan nilai sembarang (arbitrary) dari grup. Berguna ketika kita tahu semua nilai dalam grup sama, atau tidak peduli nilai mana yang dipilih.

Tipe hasil: Sama dengan tipe input

ARG_MAX

Aggregate

Mengembalikan nilai 'arg' yang berkorespondensi dengan nilai maksimum dari 'val'. Kebalikan dari ARG_MIN.

Tipe hasil: Sama dengan tipe arg

ARG_MIN

Aggregate

Mengembalikan nilai 'arg' yang berkorespondensi dengan nilai minimum dari 'val'. Sangat berguna untuk mendapatkan data terkait dari baris dengan nilai minimum.

Tipe hasil: Sama dengan tipe arg

ARRAY_AGG

Aggregate

Mengumpulkan nilai dari beberapa baris menjadi sebuah array/list. Di DuckDB, ARRAY_AGG dan LIST adalah sinonim.

Tipe hasil: LIST (array)

AVG

Aggregate

Menghitung nilai rata-rata (average) dari nilai numerik dalam sebuah kolom. Mengabaikan nilai NULL dalam perhitungan.

Tipe hasil: DOUBLE

BIT_AND

Aggregate

Melakukan operasi bitwise AND pada semua nilai dalam grup. Hasilnya adalah bit yang bernilai 1 hanya jika SEMUA nilai memiliki bit tersebut bernilai 1.

Tipe hasil: Sama dengan tipe input (INTEGER/BIGINT)

BIT_OR

Aggregate

Melakukan operasi bitwise OR pada semua nilai dalam grup. Hasilnya adalah bit yang bernilai 1 jika SALAH SATU nilai memiliki bit tersebut bernilai 1.

Tipe hasil: Sama dengan tipe input (INTEGER/BIGINT)

BIT_XOR

Aggregate

Melakukan operasi bitwise XOR (exclusive OR) pada semua nilai dalam grup. Bit bernilai 1 jika jumlah nilai dengan bit tersebut bernilai 1 adalah GANJIL.

Tipe hasil: Sama dengan tipe input (INTEGER/BIGINT)

BOOL_AND

Aggregate

Mengembalikan TRUE jika SEMUA nilai dalam grup adalah TRUE. Jika ada satu saja FALSE, hasilnya FALSE. Equivalent dengan logical AND pada semua nilai.

Tipe hasil: BOOLEAN

BOOL_OR

Aggregate

Mengembalikan TRUE jika SETIDAKNYA SATU nilai dalam grup adalah TRUE. FALSE hanya jika semua nilai FALSE. Equivalent dengan logical OR pada semua nilai.

Tipe hasil: BOOLEAN

COUNT

Aggregate

Menghitung jumlah baris atau nilai non-NULL dalam sebuah kolom. Fungsi aggregate paling dasar dan sering digunakan dalam analisis data dengan DuckDB.

Tipe hasil: BIGINT

FIRST

Aggregate

Mengembalikan nilai pertama dari sebuah kolom dalam group. Tanpa ORDER BY, hasilnya non-deterministik (bisa berubah-ubah).

Tipe hasil: Sama dengan tipe input

GROUP_CONCAT

Aggregate

Menggabungkan nilai dari beberapa baris menjadi satu string, dipisahkan oleh separator. Alias MySQL-style dari STRING_AGG di DuckDB.

Tipe hasil: VARCHAR

LAST

Aggregate

Mengembalikan nilai terakhir dari sebuah kolom dalam group. Kebalikan dari FIRST.

Tipe hasil: Sama dengan tipe input

LIST

Aggregate

Mengumpulkan nilai dari banyak baris menjadi satu list (array). Alias dari ARRAY_AGG yang lebih natural di DuckDB.

Tipe hasil: LIST (array of input type)

MAX

Aggregate

Mengembalikan nilai maksimum dari sebuah kolom. Bisa digunakan untuk tipe data numerik, string, date, dan timestamp.

Tipe hasil: Sama dengan tipe input

MEDIAN

Aggregate

Menghitung nilai median (nilai tengah) dari sebuah kolom numerik. Lebih robust terhadap outlier dibanding AVG.

Tipe hasil: DOUBLE

MIN

Aggregate

Mengembalikan nilai minimum dari sebuah kolom. Bisa digunakan untuk tipe data numerik, string, date, dan timestamp.

Tipe hasil: Sama dengan tipe input

MODE

Aggregate

Mengembalikan nilai yang paling sering muncul (modus) dalam sebuah kolom.

Tipe hasil: Sama dengan tipe input

QUANTILE

Aggregate

Menghitung nilai pada posisi kuantil tertentu dari distribusi data. Mendukung single quantile atau array of quantiles sekaligus.

Tipe hasil: Sama dengan tipe input (atau LIST jika input quantile adalah array)

QUANTILE_CONT

Aggregate

Menghitung kuantil kontinyu dengan interpolasi linear. Alias dari QUANTILE yang eksplisit menunjukkan metode continuous interpolation.

Tipe hasil: DOUBLE (atau LIST of DOUBLE jika input quantile adalah array)

STDDEV

Aggregate

Menghitung standar deviasi sampel dari nilai numerik. Mengukur seberapa tersebar data dari rata-ratanya.

Tipe hasil: DOUBLE

STRING_AGG

Aggregate

Menggabungkan nilai-nilai string dari beberapa baris menjadi satu string dengan delimiter tertentu. DuckDB mendukung sintaks PostgreSQL dan MySQL (GROUP_CONCAT).

Tipe hasil: VARCHAR

SUM

Aggregate

Menghitung total penjumlahan dari nilai numerik dalam sebuah kolom. Sangat efisien di DuckDB untuk analisis data besar.

Tipe hasil: Sama dengan tipe input (BIGINT untuk INTEGER, DOUBLE untuk FLOAT, HUGEINT untuk BIGINT)