本文翻譯自官網,官網地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/)
LIMIT和SLIMIT分別用于限制InfluxDB中每次查詢時回傳的points或series的數目,
一、LIMIT子句
LIMIT
語法:
SELECT_clause [INTO_clause] FROM_clause [WHERE_clause]
[GROUP_BY_clause] [ORDER_BY_clause]
LIMIT <N>
LIMIT示例sql

二、SLIMIT子句
SLIMIT
有一個持續的問題是,需要SLIMIT查詢中包含group by*,請注意,SLIMIT子句必須按上述語法中列出的順序出現,
###SLIMIT示例sql
示例1

上面sql查詢h2o_feet表中1個series的所有point的water_level,示例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
語法:
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

示例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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/48475.html
標籤:大數據
上一篇:6.InfluxDB-InfluxQL基礎語法教程--GROUP BY子句
下一篇:kylin從入門到實戰:實際案例
