当前位置: 移动技术网 > IT编程>数据库>其他数据库 > 9.InfluxDB-InfluxQL基础语法教程--LIMIT and SLIMIT 子句

9.InfluxDB-InfluxQL基础语法教程--LIMIT and SLIMIT 子句

2019年10月17日  | 移动技术网IT编程  | 我要评论

本文翻译自官网,官网地址:()

limit和slimit分别用于限制influxdb中每次查询时返回的points或series的数目。

一、limit子句

limit 子句,返回查询结果的前n条points。

语法:

select_clause [into_clause] from_clause [where_clause]
[group_by_clause] [order_by_clause]
limit <n>

limit示例sql


二、slimit子句

slimit 返回指定measurement的前n个series的所有point。

有一个持续的问题是,需要slimit查询中包含group by*。请注意,slimit子句必须按上述语法中列出的顺序出现。

slimit示例sql

  1. 示例1

    上面sql查询h2o_feet表中1个series的所有point的water_level。

  2. 示例2
select mean("water_level") from "h2o_feet"
where time >= '2015-08-18t00:00:00z'
    and time <= '2015-08-18t00:42:00z'
group by *,time(12m)
slimit 1

查询结果:


三、limit and slimit

当limit 和slimit 一起使用时,表示的意思是查询指定measurement前n个series的前n个point。英文原文如下:limit followed by slimit returns the first points from series in the specified measurement。它指的是说返回的前n个series中,每个series的前n个points。下面将给出示例sql。

语法:

select_clause [into_clause] from_clause [where_clause]
group by *[,time(<time_interval>)] [order_by_clause]
limit <n1> slimit <n2>
  • n1指定了从measurement中查询的points的数量。
  • n2指定了从measurement中查询的series的数量。

存在一个持续的问题是,在使用limit和slimit来进行查询时,sql中必须包含group by*。注意,limit和slimit子句必须按上述语法中列出的顺序出现。

limit和slimit示例sql

  1. 示例1

  2. 示例2
    sql
select mean("water_level") from "h2o_feet"
where time >= '2015-08-18t00:00:00z'
    and time <= '2015-08-18t00:42:00z'
group by *,time(12m)
limit 3 slimit 2

查询结果:

由查询结果可知,查询返回2个series,每个series返回3个points。为了证明limit 3 slimit 2指的是返回前2个series中,每个series的前3个points。我们执行下面的sql,看每个series有多少个point

select mean("water_level") from "h2o_feet"
where time >= '2015-08-18t00:00:00z'
    and time <= '2015-08-18t00:42:00z'
group by *,time(12m)
slimit 2

查询结果:

可见每个series有4个point。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网