TL;DR InfluxDB 技术提示 - InfluxQL 查询示例
作者:Jimmy Guerrero / 开发者
2016 年 7 月 7 日
导航至
在这篇文章中,我们回顾了本周最有趣的 influxQL 查询示例、InfluxDB 和 TICK-stack 相关问题、解决方法、操作指南以及来自 GitHub、IRC 和 InfluxDB Google Group 的问答,您可能错过了。
理解意外的 fill() 行为
问:我在查询中使用了 fill(0)
,但它没有返回任何结果。这是预期的行为吗?
答:如果您的数据都不在查询的时间范围内,即使您的查询包含 fill()
,查询也不会返回任何结果。这是 fill()
当前的工作方式,但有一个开放的 问题 要更改这种行为。
例如
写入一个数据点
> INSERT invisible person=7 1467842220000000000
> SELECT * FROM "invisible"
name: invisible
---------------
time person
2016-07-06T21:57:00Z 7
使用 fill(0)
并查询包含该点的时间范围
> SELECT mean("person") FROM "invisible" WHERE time >= '2016-07-06T21:57:00Z' AND time <= '2016-07-06T21:59:00Z' GROUP BY time(1m) fill(0)
name: invisible
---------------
time mean
2016-07-06T21:57:00Z 7
2016-07-06T21:58:00Z 0
2016-07-06T21:59:00Z 0
使用 fill(0)
并查询不包含该点的时间范围
> SELECT mean("person") FROM "invisible" WHERE time >= '2016-07-06T21:58:00Z' AND time <= '2016-07-06T21:59:00Z' GROUP BY time(1m) fill(0)
查询测量中的最新点
问:我正在尝试查找测量中的最后一个点。我已经包含了我用来执行此操作的查询,但我想知道 - 是否有更好的方法来执行此操作?
> SELECT "dance_id" FROM "ballroom" ORDER BY time DESC LIMIT 1
name: ballroom
--------------
time dance_id
2016-07-06T20:26:10Z 103
答:是的!有一个 InfluxQL 函数 (LAST()
) 返回测量中的最后一个点
> SELECT last("dance_id") FROM "ballroom"
name: ballroom
--------------
time last
2016-07-06T20:26:10Z 103
InfluxDB 技术提示视频
查看下面来自 2016 年 6 月 InfluxDB Meetup 的视频,了解有关序列基数、INTO
查询等的提示。
有关更多 InfluxDB 提示,请参阅我们的 常见问题解答页面,并随时在 InfluxDB 用户组中发布您的问题。
下一步是什么?
- 在您的基础设施上寻找 InfluxDB 集群?开始使用 InfluxDB Enterprise Beta,现已可供评估。
- 下载 并 开始使用 InfluxDB 1.0 Beta 2
- 安排与解决方案架构师的 免费 20 分钟咨询,以审查您的 InfluxDB 项目
- 参加我们的免费 虚拟培训研讨会之一。