---
title: influxdb.select() function
description: influxdb.select() is an alternate implementation of from(), range(), filter() and pivot() that returns pivoted query results and masks the _measurement, _start, and _stop columns. Results are similar to those returned by InfluxQL SELECT statements.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/jsternberg/influxdb/select/
estimated_tokens: 1041
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/contrib/jsternberg/influxdb/select/
date: '2025-02-27T17:50:16-06:00'
lastmod: '2025-02-27T17:50:16-06:00'
---

* Flux 0.77.0+

InfluxDB support

> [!Important]
> `influxdb.select()` is a user-contributed function maintained by
> the [package author](#package-author-and-maintainer).

`influxdb.select()` is an alternate implementation of `from()`,`range()`, `filter()` and `pivot()` that returns pivoted query results and masks
the `_measurement`, `_start`, and `_stop` columns. Results are similar to those
returned by InfluxQL `SELECT` statements.

##### Function type signature

```js
(
    from: string,
    m: A,
    start: B,
    ?fields: [string],
    ?host: string,
    ?org: string,
    ?stop: C,
    ?token: string,
    ?where: (
        r: {
            D with
            _value: E,
            _time: time,
            _stop: time,
            _start: time,
            _measurement: string,
            _field: string,
        },
    ) => bool,
) => stream[F] where A: Equatable, F: Record
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### from

(Required)
Name of the bucket to query.

### start

(Required)
Earliest time to include in results.

Results include points that match the specified start time.
Use a relative duration, absolute time, or integer (Unix timestamp in seconds).
For example, `-1h`, `2019-08-28T22:00:00Z`, or `1567029600`.
Durations are relative to `now()`.

### stop

Latest time to include in results. Default is `now()`.

Results exclude points that match the specified stop time.
Use a relative duration, absolute time, or integer (Unix timestamp in seconds).
For example, `-1h`, `2019-08-28T22:00:00Z`, or `1567029600`.
Durations are relative to `now()`.

### m

(Required)
Name of the measurement to query.

### fields

List of fields to query. Default is`[]`.

*Returns all fields when list is empty or unspecified.*

### where

Single argument predicate function that evaluates `true` or `false`and filters results based on tag values.
Default is `(r) => true`.

Records are passed to the function before fields are pivoted into columns.
Records that evaluate to `true` are included in the output tables.
Records that evaluate to *null* or `false` are not included in the output tables.

### host

URL of the InfluxDB instance to query.

See [InfluxDB OSS URLs](/influxdb/v2/reference/urls/)or [InfluxDB Cloud regions](/influxdb/cloud/reference/regions/).

### org

Organization name.

### token

InfluxDB [API token](/influxdb/v2/security/tokens/).

## Examples

* [Query a single field](#query-a-single-field)
* [Query multiple fields](#query-multiple-fields)
* [Query all fields and filter by tags](#query-all-fields-and-filter-by-tags)
* [Query data from a remote InfluxDB Cloud instance](#query-data-from-a-remote-influxdb-cloud-instance)

### Query a single field

```js
import "contrib/jsternberg/influxdb"

influxdb.select(from: "example-bucket", start: -1d, m: "example-measurement", fields: ["field1"])
```

### Query multiple fields

```js
import "contrib/jsternberg/influxdb"

influxdb.select(
    from: "example-bucket",
    start: -1d,
    m: "example-measurement",
    fields: ["field1", "field2", "field3"],
)
```

### Query all fields and filter by tags

```js
import "contrib/jsternberg/influxdb"

influxdb.select(
    from: "example-bucket",
    start: -1d,
    m: "example-measurement",
    where: (r) => r.host == "host1" and r.region == "us-west",
)
```

### Query data from a remote InfluxDB Cloud instance

```js
import "contrib/jsternberg/influxdb"
import "influxdata/influxdb/secrets"

token = secrets.get(key: "INFLUXDB_CLOUD_TOKEN")

influxdb.select(
    from: "example-bucket",
    start: -1d,
    m: "example-measurement",
    fields: ["field1", "field2"],
    host: "https://us-west-2-1.aws.cloud2.influxdata.com",
    org: "example-org",
    token: token,
)
```

#### Related

* [from() function](/flux/v0/stdlib/influxdata/influxdb/from/)
* [range() function](/flux/v0/stdlib/universe/range/)
* [filter() function](/flux/v0/stdlib/universe/filter/)
* [schema.fieldsAsCols() function](/flux/v0/stdlib/influxdata/influxdb/schema/fieldsascols/)
* [pivot() function](/flux/v0/stdlib/universe/pivot/)

[inputs](/flux/v0/tags/inputs/)
