Math
DuckDB
LOG
Menghitung logaritma dari sebuah angka. Bisa natural log (ln) atau dengan base tertentu.
Tipe hasil:
DOUBLEDiperbarui: 6 Jan 2026Syntax
SQL
LOG(number) | LOG(base, number)Parameter
numberDOUBLEwajib
Angka yang akan dihitung logaritmanya (harus > 0)
baseDOUBLEopsional
Basis logaritma. Optional, default adalah e (natural log)
Contoh Penggunaan
Berbagai Basis Logaritma
SQL
1 SELECT 2 value, 3 LOG(value) as natural_log, 4 LOG(10, value) as log_base_10, 5 LOG(2, value) as log_base_2 6 FROM (SELECT unnest([1, 10, 100, 1000]) as value);
Membandingkan logaritma dengan berbagai basis.
Hasil
| value | natural_log | log_base_10 | log_base_2 |
|---|---|---|---|
| 1 | 0 | 0 | 0 |
| 10 | 2.303 | 1 | 3.322 |
| 100 | 4.605 | 2 | 6.644 |
| 1000 | 6.908 | 3 | 9.966 |
Growth Rate Analysis
SQL
1 SELECT 2 year, 3 revenue, 4 LOG(revenue / LAG(revenue) OVER (ORDER BY year)) as log_growth 5 FROM company_revenue 6 WHERE year >= 2020;
Menghitung log growth rate untuk analisis pertumbuhan.
Hasil
| year | revenue | log_growth |
|---|---|---|
| 2020 | 1000000000 | NULL |
| 2021 | 1200000000 | 0.182 |
| 2022 | 1500000000 | 0.223 |
| 2023 | 2000000000 | 0.288 |
Logarithmic Scaling
SQL
1 SELECT 2 category, 3 total_sales, 4 ROUND(LOG(10, total_sales), 2) as log_scale, 5 ROUND(LOG(10, total_sales) * 10, 0) as score 6 FROM category_sales 7 ORDER BY total_sales DESC;
Menggunakan log scale untuk membuat skor yang lebih terdistribusi.
Hasil
| category | total_sales | log_scale | score |
|---|---|---|---|
| Electronics | 5000000000 | 9.70 | 97 |
| Clothing | 500000000 | 8.70 | 87 |
| Books | 50000000 | 7.70 | 77 |