# count — DuckDB 1.3.2

Returns the number of non-null values in arg.

- Reference: /products/haybarn/functions/releases/duckdb-1.3.2/count/
- JSON: /products/haybarn/functions/api/v1/duckdb-1.3.2/functions/count.json
- Snapshot ID: duckdb-1.3.2
- Engine: duckdb v1.3.2
- Source ID: 0b83e5d2f6
- Binary SHA-256: 9a2ae2a4d5dbd07a5b0cb30c502d65014825d34924c681eb3faa7647e7cd2b6f
- Captured: 2026-09-05T18:37:33.818Z
- Source: https://github.com/duckdb/duckdb/releases/tag/v1.3.2
- Loaded extensions: autocomplete, core_functions, icu, json, parquet, shell

## Interpretation

- Choose a snapshot matching the target engine and build. The default is captured from the published Haybarn WASM package used by the browser playground. Historical native snapshots are also available.
- Availability is an observation in the recorded build and extension profile, not a guarantee of support in every installation or in WASM.
- Types and descriptions are declarations from duckdb_functions(). Binding can specialize result types. Null means not supplied by the catalog; do not invent defaults, optionality, argument mode, or table output columns.
- Raw parameter arrays preserve catalog order for scalar/aggregate/macro functions. Raw table arguments are alphabetical. Use callingConvention for engine-confirmed positional order and named arguments; null modes are unrecorded. Named does not mean optional. Macro defaults and special named variadic behavior are not supplied by duckdb_functions().
- Catalog examples are source material and may require data or extensions. runnableExamples contains separately verified SQL for the pinned WASM package; sample-data adaptations and guide examples are labeled separately.
- Guide annotations and recipes are separate editorial content. The browser runner always uses Haybarn WASM 1.5.5-rc3, independently of the documentation snapshot.
- All URLs beginning with / are relative to the origin hosting this document. Exports require no JavaScript, cookies, API key, or browser engine.

## Overloads

### overload-a9bd0a60c9b5b88c

Kind: aggregate. Parameter order: catalog-order.

```text
count() → BIGINT
```

Link: /products/haybarn/functions/releases/duckdb-1.3.2/count/#overload-a9bd0a60c9b5b88c

| Argument | Catalog type | Calling mode |
| --- | --- | --- |

Declared return type: BIGINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-42360735c4c9ed1b

Kind: aggregate. Parameter order: catalog-order.

```text
count(arg: ANY) → BIGINT
```

Link: /products/haybarn/functions/releases/duckdb-1.3.2/count/#overload-42360735c4c9ed1b

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| arg | ANY | not recorded |

Declared return type: BIGINT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.


## Guide recipes

No guide recipes.

## Engine catalog examples

Source examples may require additional data or extensions. Expressions are wrapped in SELECT; execution verification is not recorded.

Reported for: overload-a9bd0a60c9b5b88c, overload-42360735c4c9ed1b

```sql
SELECT count(A);
```

## Runnable examples

Executed successfully in Haybarn WASM 1.5.5-rc3. Sample data and guide examples are separate from the original catalog.

```sql
SELECT count(A)
FROM (VALUES
  (10),
  (20),
  (NULL)
) AS sample("A");
```

## Additional DuckDB documentation

- [Aggregate Functions](https://duckdb.org/docs/current/sql/functions/aggregates#countarg)
- [Bitstring Functions](https://duckdb.org/docs/current/sql/functions/bitstring#bitstring_aggarg)

## In other engines

### Apache Spark: count()



Apache Spark:

```sql
WITH tbl AS (SELECT 1 AS id, 'eggy' AS name UNION ALL SELECT NULL AS id, 'jake' AS name) SELECT COUNT(DISTINCT id, name) AS cnt FROM tbl
```

Haybarn / DuckDB:

```sql
WITH tbl AS (SELECT 1 AS id, 'eggy' AS name UNION ALL SELECT NULL AS id, 'jake' AS name) SELECT COUNT(DISTINCT CASE WHEN id IS NULL THEN NULL WHEN name IS NULL THEN NULL ELSE (id, name) END) AS cnt FROM tbl
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_spark.py#L551).

### SQL Server: count()

Same function. The SQLGlot example uses the same call in both engines.

```sql
SELECT COUNT(1) FROM x
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_tsql.py#L2492).

### Snowflake: approximate_similarity()

Uses count as part of a larger rewrite.

Snowflake:

```sql
APPROXIMATE_SIMILARITY(sig_col)
```

Haybarn / DuckDB:

```sql
(SELECT CAST(SUM(CASE WHEN num_distinct = 1 THEN 1 ELSE 0 END) AS DOUBLE) / COUNT(*) FROM (SELECT pos, COUNT(DISTINCT h) AS num_distinct FROM (SELECT h, pos FROM UNNEST(LIST(sig_col)) AS _(sig) JOIN UNNEST(CAST(sig -> '$.state' AS UBIGINT[])) WITH ORDINALITY AS s(h, pos) ON TRUE) GROUP BY pos))
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_snowflake.py#L2372).

## Observed availability

| Snapshot | Observed | Overloads | JSON |
| --- | --- | --- | --- |
| haybarn-1.5.5-rc3 | present | 2 | [reference](/products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/count.json) |
| duckdb-1.5.5 | present | 2 | [reference](/products/haybarn/functions/api/v1/duckdb-1.5.5/functions/count.json) |
| duckdb-1.4.4 | present | 2 | [reference](/products/haybarn/functions/api/v1/duckdb-1.4.4/functions/count.json) |
| duckdb-1.3.2 | present | 2 | [reference](/products/haybarn/functions/api/v1/duckdb-1.3.2/functions/count.json) |

Engine catalog documentation is derived from MIT-licensed Haybarn and DuckDB. [Notices](/third-party-notices.txt).
