InfluxQL subqueries
An InfluxQL subquery is a query nested in the FROM
clause of an InfluxQL query.
The outer query queries results returned by the inner query (subquery).
InfluxQL does not support a HAVING
clause, however InfluxQL subqueries offer
functionality similar to the SQL HAVING
clause.
Syntax
SELECT_clause FROM ( SELECT_statement ) [...]
When using subqueries, InfluxQL performs the inner query first, then performs the outer query.
The outer query requires a SELECT
clause
and a FROM
clause.
The inner query is enclosed in parentheses in the outer query’s FROM
clause.
InfluxQL supports multiple nested subqueries:
SELECT_clause FROM ( SELECT_clause FROM ( SELECT_statement ) [...] ) [...]
Examples
Sample data
The examples below use the following sample data sets:
Notable subquery behaviors
- Apply time bounds to the outer query to improve performance
- Cannot use multiple SELECT statements in a subquery
Apply time bounds to the outer query to improve performance
To improve the performance of InfluxQL queries that use subqueries and a
specified time range, apply the WHERE
clause with time-based predicates to the
outer query rather than the inner query.
For example–the following queries return the same results, but the query with
time-based predicate on the outer query is more performant than the query with
time-based predicate on the inner query:
Cannot use multiple SELECT statements in a subquery
InfluxQL does not support multiple
SELECT
statements
per subquery:
SELECT_clause FROM (SELECT_statement; SELECT_statement) [...]
However, InfluxQL does support multiple nested subqueries per outer query:
SELECT_clause FROM ( SELECT_clause FROM ( SELECT_statement ) [...] ) [...]
------------------ ----------------
Subquery 1 Subquery 2
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.