使用 InfluxQL 查询数据
了解如何使用 InfluxQL 查询存储在 InfluxDB Clustered 中的数据。
使用 InfluxQL 浏览您的模式
使用 InfluxQL SHOW
语句返回有关您的数据模式的信息。
列出 measurements
SHOW MEASUREMENTS
列出 measurement 中的字段键
SHOW FIELD KEYS FROM "measurement"
列出 measurement 中的标签键
SHOW TAG KEYS FROM "measurement"
列出特定标签键的标签值
SHOW TAG VALUES FROM "measurement" WITH KEY = "tag-key" WHERE time > now() - 1d
执行基本 InfluxQL 查询
一个从 InfluxDB 查询数据的基本 InfluxQL 查询通常包括 SELECT
、FROM
和 WHERE
子句。
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))
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB Clustered 和本文档的反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户 可以 联系 InfluxData 支持。