全部产品
Search
文档中心

时间序列数据库 TSDB:ORDER BY time DESC

更新时间:Jul 01, 2020

TSDB For InfluxDB®默认按递增的时间顺序返回结果。第一个返回的数据点,其时间戳是最早的,而最后一个返回的数据点,其时间戳是最新的。ORDER BY time DESC将默认的时间顺序调转,使得TSDB For InfluxDB®首先返回有最新时间戳的数据点,也就是说,按递减的时间顺序返回结果。

语法

  1. 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子句后面。

示例

首先返回最新的点

  1. > SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' ORDER BY time DESC
  2. name: h2o_feet
  3. time water_level
  4. ---- -----------
  5. 2015-09-18T21:42:00Z 4.938
  6. 2015-09-18T21:36:00Z 5.066
  7. [...]
  8. 2015-08-18T00:06:00Z 2.116
  9. 2015-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()子句

  1. > 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 DESC
  2. name: h2o_feet
  3. time mean
  4. ---- ----
  5. 2015-08-18T00:36:00Z 4.6825
  6. 2015-08-18T00:24:00Z 4.80675
  7. 2015-08-18T00:12:00Z 4.950749999999999
  8. 2015-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®.