Influx database limitations

Influx database limitations

Influx database has specific limitations, which are described in this section.
For more information, see https://docs.influxdata.com/influxdb/v2/query-data/influxql/.

SQL support

Influx database does not directly support SQL. A parser translates the SQL queries to Influx-based query language. Only specific SQL commands are supported. For more information on SQL queries, see SQL queries.
SQL and InfluxQL comparison
Feature
SQL
InfluxQL
WHERE clause
Yes
Yes
GROUP BY clause
Yes
not supported
ORDER BY clause
Yes
partial support: only ORDER BY time is supported. See https://docs.influxdata.com/influxdb/v2/query-data/influxql/explore-data/order-by/.
HAVING
Yes
not supported
LIMIT and SLIMIT clauses
Yes
Yes
OFFSET and SOFFSET clauses
Yes
Yes
EXTRACT clause
Yes
not supported
CHAR_LENGTH clause
Yes
not supported
Timezone queries
not supported
not supported
Subqueries
Yes
Yes
Regular expressions
not supported
not supported
CREATE statement
partial support
not supported
UPDATE statement
Yes
not supported
DELETE statement
Yes
partial support: the query requires either the FROM clause, the WHERE clause, or both. DELETE does not support fields (columns) in the WHERE clause. See https://docs.influxdata.com/influxdb/v2/query-data/influxql/manage-data/#delete-series-with-delete.
DROP statement
partial support
Aliases
AS table alias
Yes
not supported
AS column alias
Yes
Yes
JOIN clauses
INNER join
Yes
not supported
OUTER join
Yes
not supported
CROSS join
Yes
not supported
Operators
<, >, =, != (comparison operators)
Yes
Yes
AND, OR (logical operators)
Yes
Yes
not, IN, IS NULL, LIKE, EXISTS
Yes
not supported
BETWEEN
Yes
Yes
Functions
Window functions: ROW_NUMBER, RANK, DENSE_RANK
Yes
not supported
Aggregate functions: COUNT, MIN, MAX, AVG, SUM
Yes
partial support:
  • ALL in COUNT, MIN, MAX, AVG, SUM is not supported by InfluxDB
  • DISTINCT in MIN, MAX, AVG, SUM is not supported by InfluxDB

Other limitations

  • INSERT statement is not supported as part of an SQL query. To insert data to a database table, you must use the dedicated INSERT method
  • Influx database is sensitive on time data. Time on the source device and on the database device must be synchronized to keep data consistency. Data record with the same timestamp is overwritten by Influx, so you must carefully design data structure of the database side.
  • Influx may not add record for column custom named
    time
    , which is a restricted phrase.
  • STATUS
    variable is not relevant to Influx database, because the connection is active only when data is transferred.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.