使用 InfluxQL 查询数据
学习如何使用 InfluxQL 查询 InfluxDB 集群中存储的数据。
使用 InfluxQL 探索您的模式
使用 InfluxQL SHOW
语句返回有关您的数据模式的信息。
列出测量值
SHOW MEASUREMENTS
列出测量中的字段键
SHOW FIELD KEYS FROM "measurement"
列出测量中的标签键
SHOW TAG KEYS FROM "measurement"
列出特定标签键的标签值
SHOW TAG VALUES FROM "measurement" WITH KEY = "tag-key" WHERE time > now() - 1d
执行基本的 InfluxQL 查询
一个基本的 InfluxQL 查询通常包括 SELECT
、FROM
和 WHERE
子句,用于从 InfluxDB 中查询数据。
SELECT temp, room FROM home WHERE time >= now() - 1d
使用 InfluxQL 聚合数据
使用 InfluxQL 聚合和选择器函数对您的时序数据进行聚合操作。
按组聚合字段
SELECT
MEAN(temp) AS mean,
FIRST(hum) as first,
FROM home
GROUP BY tag
基于时间间隔进行聚合
SELECT
MEAN(temp),
sum(hum),
FROM home
WHERE time >= now() - 24h
GROUP BY time(1h),room
排查 InfluxQL 错误
学习如何排查和修复常见的 InfluxQL 错误。
使用 InfluxQL 参数化查询
使用参数化查询以防止注入攻击并使查询更具可重用性。
使用 Go 和 influxdb3-go 客户端
// Use the $parameter syntax to reference parameters in a query.
// The following InfluxQL query contains $room and $min_time parameters.
query := `
SELECT * FROM home
WHERE time >= $min_time
AND temp >= $min_temp
AND room = $room`
// Assign parameter names to input values.
parameters := influxdb3.QueryParameters{
"room": "Kitchen",
"min_temp": 20.0,
"min_time": "2024-03-18 00:00:00.00",
}
// Call the client's function to query InfluxDB with parameters and the
// the InfluxQL QueryType.
iterator, err := client.QueryWithParameters(context.Background(),
query,
parameters,
influxdb3.WithQueryType(influxdb3.InfluxQL))
这个页面有帮助吗?
感谢您的反馈!