Documentation

experimental.count() function

experimental.count() is subject to change at any time.

experimental.count() returns the number of records in each input table.

The count is returned in the _value column and counts both null and non-null records.

Counts on empty tables

experimental.count() returns 0 for empty tables. To keep empty tables in your data, set the following parameters when using the following functions:

filter(onEmpty: "keep")
window(createEmpty: true)
aggregateWindow(createEmpty: true)
Function type signature
(<-tables: stream[{A with _value: B}]) => stream[{A with _value: int}]

For more information, see Function type signatures.

Parameters

tables

Input data. Default is piped-forward data (<-).

Examples

Count the number of rows in a table

import "experimental"
import "sampledata"

sampledata.int()
    |> experimental.count()

View example input and output


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.6

Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.

See the Blog Post

InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along with new capabilities for simple startup and expanded functionality in the Processing Engine.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2