---
title: num_changes() | Tiger Data Docs
description: Get the number of times a counter changed from a counter aggregate
---

Since [1.3.0](https://github.com/timescale/timescaledb-toolkit/releases/tag/1.3.0)

Get the number of times the counter changed during the period summarized by the counter aggregate. Any change is counted, including resets to zero.

## Samples

Get the number of times the counter changed over each 15-minute interval.

```
SELECT
    id,
    bucket,
    num_changes(summary)
FROM (
    SELECT
        id,
        time_bucket('15 min'::interval, ts) AS bucket,
        counter_agg(ts, val) AS summary
    FROM foo
    GROUP BY id, time_bucket('15 min'::interval, ts)
) t
```

## Arguments

The syntax is:

```
num_changes(
    summary CounterSummary
) RETURNS BIGINT
```

| Name      | Type             | Default | Required | Description                                                                                                                   |
| --------- | ---------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `summary` | `CounterSummary` | -       | ✔        | A counter summary created using [`counter_agg`](/docs/reference/toolkit/counters-and-gauges/counter_agg/counter_agg/index.md) |

## Returns

| Column       | Type   | Description                             |
| ------------ | ------ | --------------------------------------- |
| num\_changes | BIGINT | The number of times the counter changed |
