Aggregate
DuckDB
BIT_OR
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)Diperbarui: 6 Jan 2026Syntax
SQL
BIT_OR(expression)Parameter
expressionINTEGER/BIGINTwajib
Kolom atau ekspresi integer untuk operasi bitwise OR
Contoh Penggunaan
Menggabungkan Semua Permission dalam Role
SQL
1 -- Permission: 1=read, 2=write, 4=delete, 8=admin 2 SELECT 3 team_id, 4 BIT_OR(user_permissions) as team_capabilities 5 FROM team_members 6 GROUP BY team_id;
Mencari SEMUA permission yang dimiliki tim (gabungan dari semua member).
Hasil
| team_id | team_capabilities |
|---|---|
| 1 | 15 (lengkap dari gabungan member) |
| 2 | 7 (read, write, delete) |
| 3 | 3 (read, write) |
Analisis Error Flags
SQL
1 SELECT 2 batch_id, 3 BIT_OR(error_flags) as all_errors, 4 COUNT(*) as record_count 5 FROM processing_logs 6 WHERE date = CURRENT_DATE 7 GROUP BY batch_id;
Menggabungkan semua jenis error yang terjadi dalam setiap batch.
Hasil
| batch_id | all_errors | record_count |
|---|---|---|
| B001 | 0 | 1000 (no errors) |
| B002 | 6 | 850 (error type 2 & 4) |
Feature Coverage per Region
SQL
1 SELECT 2 region, 3 BIT_OR(supported_features) as available_features, 4 TO_BASE(BIT_OR(supported_features), 2) as binary_view 5 FROM service_availability 6 GROUP BY region;
Menghitung fitur apa saja yang tersedia (dari provider manapun) di setiap region.
Hasil
| region | available_features | binary_view |
|---|---|---|
| Jakarta | 31 | 11111 |
| Surabaya | 15 | 1111 |
| Medan | 7 | 111 |