全部产品
Search
文档中心

Time Series Database:Sintaks umum fungsi

更新时间:Jun 28, 2025

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.124

Query 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 feet

Query 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.964

Query 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<---Timestamp2

Ubah 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.442107025822522

Query 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.442107025822522

Contoh 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.69

Query 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.69

Mengubah 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.