ORDER BY time DESC
更新时间:
TSDB For InfluxDB®默认按递增的时间顺序返回结果。第一个返回的数据点,其时间戳是最早的,而最后一个返回的数据点,其时间戳是最新的。ORDER BY time DESC将默认的时间顺序调转,使得TSDB For InfluxDB®首先返回有最新时间戳的数据点,也就是说,按递减的时间顺序返回结果。
语法
SELECT_clause [INTO_clause] FROM_clause [WHERE_clause] [GROUP_BY_clause] ORDER BY time DESC
语法描述
如果查询语句中包含GROUP BY子句,那么ORDER BY time DESC必须放在GROUP BY子句后面。如果查询语句中包含WHERE子句并且没有GROUP BY子句,那么ORDER BY time DESC必须放在WHERE子句后面。
示例
首先返回最新的点
> SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' ORDER BY time DESCname: h2o_feettime water_level---- -----------2015-09-18T21:42:00Z 4.9382015-09-18T21:36:00Z 5.066[...]2015-08-18T00:06:00Z 2.1162015-08-18T00:00:00Z 2.064
该查询首先从measurement h2o_feet中返回具有最新时间戳的数据点。如果以上查询语句中没有ORDER by time DESC,那么会首先返回时间戳为2015-08-18T00:00:00Z的数据点,最后返回时间戳为2015-09-18T21:42:00Z的数据点。
首先返回最新的点并且包含GROUP BY time()子句
> 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) ORDER BY time DESCname: h2o_feettime mean---- ----2015-08-18T00:36:00Z 4.68252015-08-18T00:24:00Z 4.806752015-08-18T00:12:00Z 4.9507499999999992015-08-18T00:00:00Z 5.07625
该查询使用了一个InfluxQL函数和GROUP BY子句中的时间间隔,计算查询时间范围内每12分钟的water_level的平均值。ORDER BY time DESC语句使得最新12分钟间隔的结果会首先返回。如果以上查询语句中没有ORDER by time DESC,那么会首先返回时间戳为2015-08-18T00:00:00Z的数据点,最后返回时间戳为2015-08-18T00:36:00Z的数据点。
InfluxDB® is a trademark registered by InfluxData, which is not affiliated with, and does not endorse, TSDB for InfluxDB®.
该文章对您有帮助吗?