content/shared/influxdb-v2/query-data/influxql/explore-data/order-by.md
Use the ORDER BY clause to sort data.
By default, InfluxDB returns results in ascending time order; the first point
returned has the oldest timestamp and
the last point returned has the most recent timestamp.
ORDER BY time DESC reverses that order such that InfluxDB returns the points
with the most recent timestamps first.
SELECT_clause FROM_clause [WHERE_clause] [GROUP_BY_clause] ORDER BY time DESC
If the query includes a GROUP BY clause, ORDER by time DESC must appear after the GROUP BY clause.
If the query includes a WHERE clause and no GROUP BY clause, ORDER by time DESC must appear after the WHERE clause.
{{< expand-wrapper >}}
{{% expand "Return the newest points first" %}}
SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' ORDER BY time DESC
Output: {{% influxql/table-meta %}} Name: h2o_feet {{% /influxql/table-meta %}}
| time | water_level |
|---|---|
| 2019-09-17T21:42:00Z | 4.9380000000 |
| 2019-09-17T21:36:00Z | 5.0660000000 |
| 2019-09-17T21:30:00Z | 5.0100000000 |
| 2019-09-17T21:24:00Z | 5.0130000000 |
| 2019-09-17T21:18:00Z | 5.0720000000 |
The query returns the points with the most recent timestamps from the
h2o_feet measurement first.
Without ORDER by time DESC, the query would return the following output:
Output: {{% influxql/table-meta %}} Name: h2o_feet {{% /influxql/table-meta %}}
| time | water_level |
|---|---|
| 2019-08-17T00:00:00Z | 2.0640000000 |
| 2019-08-17T00:06:00Z | 2.1160000000 |
| 2019-08-17T00:12:00Z | 2.0280000000 |
| 2019-08-17T00:18:00Z | 2.1260000000 |
{{% /expand %}}
{{% expand "Return the newest points first and include a GROUP BY time() clause" %}}
SELECT MEAN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:42:00Z' GROUP BY time(12m) ORDER BY time DESC
Output: {{% influxql/table-meta %}} Name: h2o_feet {{% /influxql/table-meta %}}
| time | mean |
|---|---|
| 2019-08-18T00:36:00Z | 4.9712860355 |
| 2019-08-18T00:24:00Z | 5.1682500000 |
| 2019-08-18T00:12:00Z | 5.3042500000 |
| 2019-08-18T00:00:00Z | 5.4135000000 |
The query uses the InfluxQL MEAN() function
and a time interval in the GROUP BY clause
to calculate the average water_level for each 12-minute
interval in the queried time range.
ORDER BY time DESC returns the most recent 12-minute time intervals
first.
Without ORDER BY time DESC, the query would return the following output:
Output: {{% influxql/table-meta %}} Name: h2o_feet {{% /influxql/table-meta %}}
| time | mean |
|---|---|
| 2019-08-18T00:00:00Z | 5.4135000000 |
| 2019-08-18T00:12:00Z | 5.3042500000 |
| 2019-08-18T00:24:00Z | 5.1682500000 |
| 2019-08-18T00:36:00Z | 4.9712860355 |
{{% /expand %}}
{{< /expand-wrapper >}}