-
GROUP BY
只能对tag keys
和time
进行合分组,可以多字段排序,如group by tag1,tag2,time
,也可一个*
对所有的tag
进行分组聚合(不包括time
)。 -
ORDER BY
只能对time
进行排序,asc
升序,desc
降序。 -
LIMIT
分页,LIMIT
后面的数字是查询显示多少条,OFFSET
后面数字代表偏移量(从0开始代表第一条),如limit 10 offset 10
意思为从第11条开始往后10条。
现在开始简单查询之前导入的示例数据:
(1)查询average_temperature的数据。
因为数据量比较大,配合limit防止返回大量数据。
select * from average_temperature limit 2
(2)查询average_temperature
,location
为coyote_creek
的数据,字段只显示time
和degrees
。
select time, degrees from average_temperature where location=‘coyote_creek’ limit 2
上面的数据显示格式是column,且时间是时间戳,前面的文章也介绍过,可执行如下指令进行设置:
输入json格式
format json
让json格式输出更好看
pretty
格式化时间显示
precision rfc3339
where
后面没有in
来范围查询,但是有or
也可以做到异曲同工之妙。
select * from h2o_pH where location=‘coyote_creek’ or location=‘santa_monica’ limit 4
tag keys
和field keys
都支持正则,可通过如下正则达到模糊查询的效果。
location名称中包含coyote的数据
select * from h2o_quality where location=~/.coyote./ limit 10
(1)group by tag
对location
分组查询,返回结果是一个大results
对象结果集内包含两个series
,第一个series
是location
为coyote_creek
的聚合结果集,第二个series
是location
为santa_monica
的聚合结果集。
select * from h2o_pH group by location limit 2
查询结果显示
{
“results”: [
{
“series”: [
{
“name”: “h2o_pH”,
“tags”: {
“location”: “coyote_creek”
},
“columns”: [
“time”,
“pH”
],
“values”: [
[
“2019-08-17T00:00:00Z”,
7
],
[
“2019-08-17T00:06:00Z”,
8
]
]
}
]
},
{
“series”: [
{
“name”: “h2o_pH”,
“tags”: {
“location”: “santa_monica”
},
“columns”: [
“time”,
“pH”
],
“values”: [
[
“2019-08-17T00:00:00Z”,
6
],
[
“2019-08-17T00:06:00Z”,
6
]
]
}
]
}
]
}
(2)group by time(1m)
对time
分组时并不是简单的group by time
,time
后面还需要加一个分组聚合的持续时间,如group by time(1m)
。支持的持续时间单位有:
| 单位 | 备注 |
| — | — |
| u or µ | microseconds (1 millionth of a second) |
| ms | milliseconds (1 thousandth of a second) |
| s | second |
| m | minute |
| h | hour |
| d | day |
| w | week |
对time
进行分组,查询结果必须对field
使用聚合函数,如count()
、sum()
、max()
、min()
等。
select sum(pH) from h2o_pH group by time(1m) limit 4
查询结果显示
{
“results”: [
{
“series”: [
{
“name”: “h2o_pH”,
“columns”: [
“time”,
“sum”
],
“values”: [
[
“2019-08-17T08:00:00+08:00”,
13
],
[
“2019-08-17T08:01:00+08:00”,
null
]
]
}
]
}
]
}
由于Influxdb
时区默认是UTC
,若以一天进行数据聚合,需要加上便宜量 -8h 进行聚合:
select sum(pH) from h2o_pH group by time(1d,-8h) fill(0) limit 4
(3)fill(0)填充null
可以看到values
结果集中有null
的情况,可在查询语句中加fill(0)
,遇到null
用0
来填充。fill()
中只能填数字。
order by
只能对time
进行排序,asc
升序,desc
降序。
select sum(pH) from h2o_pH group by time(1m) fill(0) order by time asc limit 2
limit
可单独使用,也可配合offset
使用,offset
偏移量的意思。
select sum(pH) from h2o_pH group by time(1h) fill(0) order by time asc limit 2 offset 10
select
进行多个tag
分组后,会返回多个series
,可使用slmit
限制series
返回的个数。slimit
不像limit
有偏移量offset
,但是可以配合limit
一起使用:
查询显示 前两个series,且每个series里显示2条数据,偏移量10
select * from h2o_quality group by * limit 2 offset 10 slimit 2
多表查询,以时间进行连接,不存在的值用null填充。一般情况连接的两张表tag和field上有一定的联系和比较,毫不相干的两表连接查询没什么价值。
select * from h2o_feet,h2o_pH limit 1
{
“results”: [
{
“series”: [
{
“name”: “h2o_feet”,
“columns”: [
“time”,
“level description”,
“location”,
“pH”,
“water_level”
],
“values”: [
[
“2019-08-17T00:00:00Z”,
“below 3 feet”,
“santa_monica”,
null,
2.064
]
]
}
]
},
{
“series”: [
{
“name”: “h2o_pH”,
“columns”: [
“time”,
“level description”,
“location”,
“pH”,
“water_level”
],
“values”: [
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
最后
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
[外链图片转存中…(img-8QrZcMQH-1713859320998)]
最后
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
[外链图片转存中…(img-nZLTGhot-1713859320998)]
[外链图片转存中…(img-UCnYy4IL-1713859320998)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
大家看完有什么不懂的可以在下方留言讨论也可以关注。
觉得文章对你有帮助的话记得关注我点个赞支持一下!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!