Aggregate
BigQuery
COUNTIF
Menghitung jumlah baris yang memenuhi kondisi tertentu. Sintaks yang lebih ringkas dan mudah dibaca dibanding COUNT dengan CASE atau IF.
Tipe hasil:
INT64Diperbarui: 16 Mei 2026Syntax
SQL
COUNTIF(condition)Parameter
conditionBOOLwajib
Ekspresi boolean yang akan dievaluasi untuk setiap baris
Contoh Penggunaan
Menghitung Berdasarkan Status
SQL
1 SELECT 2 COUNTIF(status = 'completed') as completed_orders, 3 COUNTIF(status = 'pending') as pending_orders, 4 COUNTIF(status = 'cancelled') as cancelled_orders, 5 COUNT(*) as total_orders 6 FROM `project.dataset.orders`;
Breakdown order berdasarkan status dalam satu query.
Hasil
| completed_orders | pending_orders | cancelled_orders | total_orders |
|---|---|---|---|
| 8500 | 1200 | 300 | 10000 |
COUNTIF dengan Multiple Conditions
SQL
1 SELECT 2 product_category, 3 COUNTIF(price > 1000000) as premium_products, 4 COUNTIF(price BETWEEN 500000 AND 1000000) as mid_range, 5 COUNTIF(price < 500000) as budget_products 6 FROM `project.dataset.products` 7 GROUP BY product_category;
Mengelompokkan produk berdasarkan range harga per kategori.
Hasil
| product_category | premium_products | mid_range | budget_products |
|---|---|---|---|
| Electronics | 45 | 120 | 85 |
| Fashion | 12 | 89 | 234 |
Conversion Rate Calculation
SQL
1 SELECT 2 DATE(timestamp) as date, 3 COUNT(*) as total_visits, 4 COUNTIF(converted = TRUE) as conversions, 5 ROUND(COUNTIF(converted = TRUE) * 100.0 / COUNT(*), 2) as conversion_rate 6 FROM `project.dataset.user_sessions` 7 GROUP BY date 8 ORDER BY date DESC 9 LIMIT 7;
Menghitung conversion rate harian.
Hasil
| date | total_visits | conversions | conversion_rate |
|---|---|---|---|
| 2024-06-25 | 125000 | 3750 | 3.00 |
| 2024-06-24 | 118000 | 3304 | 2.80 |
COUNTIF dengan Date Conditions
SQL
1 SELECT 2 customer_id, 3 COUNTIF(order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)) as orders_last_30_days, 4 COUNTIF(order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY)) as orders_last_90_days, 5 COUNT(*) as total_orders 6 FROM `project.dataset.orders` 7 GROUP BY customer_id 8 HAVING COUNTIF(order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)) > 0 9 LIMIT 10;
Menganalisis aktivitas customer berdasarkan periode waktu.
Hasil
| customer_id | orders_last_30_days | orders_last_90_days | total_orders |
|---|---|---|---|
| C001 | 3 | 8 | 25 |
| C002 | 5 | 12 | 45 |
Pertanyaan Umum tentang COUNTIF
Apa itu fungsi COUNTIF di BigQuery?
Menghitung jumlah baris yang memenuhi kondisi tertentu. Sintaks yang lebih ringkas dan mudah dibaca dibanding COUNT dengan CASE atau IF. Di BigQuery, fungsi COUNTIF termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan COUNTIF di BigQuery?
Gunakan sintaks berikut: COUNTIF(condition). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi COUNTIF?
Fungsi COUNTIF mengembalikan nilai bertipe INT64. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi COUNTIF?
Fungsi ini memiliki 1 parameter wajib. Parameter yang digunakan: condition (BOOL, wajib): Ekspresi boolean yang akan dievaluasi untuk setiap baris.