Explore data using InfluxQL
To start exploring data with InfluxQL, do the following:
Verify your bucket has a database and retention policy (DBRP) mapping by listing DBRP mappings for your bucket. If not, create a new DBRP mapping.
(Optional) If you would like to use the data used in the examples below, download the NOAA sample data.
Use the InfluxQL
SELECT
statement with other key clauses to explore your data.
- SELECT statement
- WHERE clause
- GROUP BY clause
- ORDER BY clause
- LIMIT and SLIMIT clauses
- OFFSET and SOFFSET clauses
- Time and timezone queries
- Subqueries
- Regular expressions
SELECT statement
Use the SELECT
statement to query data from a particular measurement or measurements.
SELECT <field_key>[,<field_key>,<tag_key>] FROM <measurement_name>[,<measurement_name>]
WHERE clause
Use the WHERE
clause to filter data based on fields, tags, and/or timestamps.
SELECT_clause FROM_clause WHERE <conditional_expression> [(AND|OR) <conditional_expression> [...]]
GROUP BY clause
Use the GROUP BY
clause to group query results by one or more specified tags and/or a specified time interval.
SELECT_clause FROM_clause [WHERE_clause] GROUP BY [* | <tag_key>[,<tag_key]]
ORDER BY clause
Use the ORDER BY
clause to sort data in ascending or descending order.
SELECT_clause FROM_clause [WHERE_clause] [GROUP_BY_clause] ORDER BY time DESC
LIMIT and SLIMIT clauses
Use the LIMIT
and SLIMIT
clauses to limit the number of points and series returned in queries.
SELECT_clause FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] LIMIT <N>
OFFSET and SOFFSET clauses
Use the OFFSET
and SOFFSET
clauses to paginate points and series.
SELECT_clause FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] LIMIT_clause OFFSET <N> [SLIMIT_clause]
Time and timezone queries
Explore InfluxQL features used specifically for working with time. Use the tz
(timezone) clause to return the UTC offset for the specified timezone.
SELECT_clause FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause] tz('<time_zone>')
Subqueries
Use a subquery
to apply a query as a condition in the enclosing query.
SELECT_clause FROM ( SELECT_statement ) [...]
Regular expressions
Use regular expressions
to match patterns in your data.
SELECT /<regular_expression_field_key>/ FROM /<regular_expression_measurement>/ WHERE [<tag_key> <operator> /<regular_expression_tag_value>/ | <field_key> <operator> /<regular_expression_field_value>/] GROUP BY /<regular_expression_tag_key>/
Download sample data
The example InfluxQL queries in this documentation use publicly available National Oceanic and Atmospheric Administration (NOAA) data.
To download a subset of NOAA data used in examples, run the script under NOAA water sample data (for example, copy and paste the script into your Data Explorer - Script Editor), and replace “example-org” in the script with the name of your InfluxDB organization.
Let’s get acquainted with this subsample of the data in the h2o_feet
measurement:
Output:
Name: h2o_feet
time | level description | location | water_level |
---|---|---|---|
2019-08-18T00:00:00Z | between 6 and 9 feet | coyote_creek | 8.1200000000 |
2019-08-18T00:00:00Z | below 3 feet | santa_monica | 2.0640000000 |
2019-08-18T00:06:00Z | between 6 and 9 feet | coyote_creek | 8.0050000000 |
2019-08-18T00:06:00Z | below 3 feet | santa_monica | 2.1160000000 |
2019-08-18T00:12:00Z | between 6 and 9 feet | coyote_creek | 7.8870000000 |
2019-08-18T00:12:00Z | below 3 feet | santa_monica | 2.0280000000 |
The data in the h2o_feet
measurement occurs at six-minute time intervals. This measurement has one tag key (location
) which has two tag values: coyote_creek
and santa_monica
. The measurement also has two fields: level description
stores string field values and water_level
stores float field values.
Configure timestamps in the InfluxQL shell
By default, the InfluxQL shell returns timestamps in nanosecond UNIX epoch format by default. To return human-readable RFC3339 timestamps instead of Unix nanosecond timestamps, use the precision helper command ` to configure the timestamp format:
precision rfc3339
The InfluxDB API returns timestamps in RFC3339 format by default. Specify alternative formats with the epoch query string parameter.