Topik ini menjelaskan sintaks umum dari fungsi InfluxQL.
Tentukan beberapa fungsi dalam pernyataan SELECT
Sintaks
SELECT <function>(),<function>() FROM_clause [...]Deskripsi
Pisahkan beberapa fungsi dalam pernyataan SELECT menggunakan koma (,). Sintaks ini berlaku untuk semua fungsi InfluxQL, kecuali fungsi TOP() dan BOTTOM(). Fungsi TOP() dan BOTTOM() tidak dapat digunakan bersamaan dengan fungsi lainnya dalam pernyataan SELECT.
Contoh 1: Menghitung Rata-rata dan Median Nilai Bidang Menggunakan Query
> SELECT MEAN("water_level"),MEDIAN("water_level") FROM "h2o_feet"
name: h2o_feet
time mean median
--------------
1970-01-01T00:00:00Z4.4421070258225224.124Query ini mengembalikan rata-rata dan median nilai bidang untuk kunci bidang water_level.
Contoh 2: Memperoleh Nilai-nilai Bidang yang Paling Sering Muncul dari Dua Kunci Bidang Menggunakan Query
> SELECT MODE("water_level"),MODE("level description") FROM "h2o_feet"
name: h2o_feet
time mode mode_1
--------------
1970-01-01T00:00:00Z2.69 between 3 and 6 feetQuery ini mengembalikan nilai bidang yang paling sering muncul dari kunci bidang water_level dan nilai bidang yang paling sering muncul dari kunci bidang level description. Hasil untuk kunci bidang water_level ditampilkan di kolom mode, sedangkan hasil untuk kunci bidang level description ditampilkan di kolom mode_1. Nama setiap kolom keluaran harus unik dalam hasil query. Oleh karena itu, kolom kedua mode diubah namanya menjadi mode_1.
Untuk informasi lebih lanjut tentang cara menentukan nama untuk kolom keluaran, lihat Mengubah Nama Kunci Bidang Keluaran.
Contoh 3: Memperoleh Nilai Bidang Terbesar dan Terkecil Menggunakan Query
> SELECT MIN("water_level"), MAX("water_level")[...]
name: h2o_feet
time min max
----------
1970-01-01T00:00:00Z-0.619.964Query ini mengembalikan nilai bidang terbesar dan terkecil dari kunci bidang water_level.
Catatan: Query ini mengembalikan timestamp 1970-01-01T00:00:00Z. Timestamp ini adalah timestamp null dalam TSDB untuk InfluxDB®. MIN() dan MAX() adalah fungsi pemilih. Jika pernyataan SELECT hanya berisi satu fungsi pemilih, timestamp tertentu akan dikembalikan. Fungsi MIN() dan MAX() mengembalikan dua timestamp berbeda, seperti yang ditunjukkan pada contoh berikut. Oleh karena itu, sistem menimpa kedua timestamp tersebut dengan timestamp null.
> SELECT MIN("water_level") FROM "h2o_feet"
name: h2o_feet
time min
-------
2015-08-29T14:30:00Z-0.61<---Timestamp1
> SELECT MAX("water_level") FROM "h2o_feet"
name: h2o_feet
time max
-------
2015-08-29T07:24:00Z9.964<---Timestamp2Ubah nama kunci bidang keluaran
Sintaks
SELECT <function>() AS <field_key>[...]Deskripsi
Secara default, hasil query ditampilkan di bagian terkait dari kunci bidang yang ditentukan dalam fungsi. Anda dapat menggunakan klausa AS untuk menentukan nama kunci bidang keluaran dalam query Anda.
Contoh 1: Menentukan Kunci Bidang Keluaran
> SELECT MEAN("water_level") AS "dream_name" FROM "h2o_feet"
name: h2o_feet
time dream_name
--------------
1970-01-01T00:00:00Z4.442107025822522Query ini mengembalikan nilai rata-rata bidang dari kunci bidang water_level dan mengubah nama kunci bidang keluaran menjadi dream_name. Jika tidak ada klausa AS yang disertakan, query ini mengembalikan mean sebagai kunci bidang keluaran.
> SELECT MEAN("water_level") FROM "h2o_feet"
name: h2o_feet
time mean
--------
1970-01-01T00:00:00Z4.442107025822522Contoh 2: Menentukan Kunci Bidang Keluaran untuk Beberapa Fungsi
> SELECT MEDIAN("water_level") AS "med_wat",MODE("water_level") AS "mode_wat" FROM "h2o_feet"
name: h2o_feet
time med_wat mode_wat
-------------------
1970-01-01T00:00:00Z4.1242.69Query ini mengembalikan median dari nilai-nilai bidang untuk kunci bidang water_level dan nilai bidang yang paling sering muncul dari kunci bidang water_level. Query ini mengubah nama kunci bidang keluaran dan mengembalikan med_wat dan mode_wat sebagai kunci bidang keluaran. Jika tidak ada klausa AS yang disertakan, query ini mengembalikan median dan mode sebagai kunci bidang keluaran.
> SELECT MEDIAN("water_level"),MODE("water_level") FROM "h2o_feet"
name: h2o_feet
time median mode
--------------
1970-01-01T00:00:00Z4.1242.69Mengubah Nilai Pengembalian untuk Interval Waktu di Mana Tidak Ada Data yang Dilaporkan
Secara default, query yang berisi fungsi InfluxQL dan klausa GROUP BY time() mengembalikan nilai null ketika tidak ada data yang dilaporkan dalam interval waktu terkait. Jika Anda tidak ingin memperoleh nilai null, tambahkan fungsi GROUP BY ke akhir klausa fill() dalam query Anda.