> For the complete documentation index, see [llms.txt](https://docs.pinot.apache.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pinot.apache.org/functions/sketch/sumvaluesintegersumtuplesketch.md).

# SUMVALUESINTEGERSUMTUPLESKETCH

This section contains reference documentation for the SUMVALUESINTEGERSUMTUPLESKETCH function.

The [Tuple Sketch](https://datasketches.apache.org/docs/Tuple/TupleOverview.html) is an extension of the [Theta Sketch](https://datasketches.apache.org/docs/Theta/ThetaSketchFramework.html). Tuple sketches store an additional summary value with each retained entry which makes the sketch ideal for summarizing attributes such as impressions or clicks. Tuple sketches are interoperable with the Theta Sketch and enable set operations over a stream of data, and can also be used for cardinality estimation.

## Signature

> sumValuesIntegerSumTupleSketch(**\<tupleSketchColumn>, \<tupleSketchParams>**) -> Long

* `tupleSketchColumn` (required): Name of the column to aggregate on. This must be an existing tuple sketch serialized as bytes.
* `tupleSketchParams` (optional): Semicolon-separated parameter string for constructing the intermediate tuple sketches, such as `nominalEntries=65536;accumulatorThreshold=10`. The one- and two-argument forms are supported by both query engines.
  * The supported parameters are:
  * `nominalEntries`: The nominal entries used to create the sketch. (Default 65536)
  * `accumulatorThreshold`: How many sketches should be kept in memory before merging. (Default 2)

With advanced null handling enabled, rows whose sketch column is null are skipped. The function returns `NULL` when no sketches contribute. Without advanced null handling, Pinot uses the column's default null value and an empty input retains the legacy sum of `0`.

These examples are based on the [Batch Quick Start](/start-here/quick-start.md#batch-processing). A new Tuple Sketch metric called `playerHomeRuns` was created during ingestion by updating the ingestion config as follows:

```json
	"ingestionConfig": {
		"transformConfigs": [
			{
				"columnName": "playerHomeRuns",
				"transformFunction": "toIntegerSumTupleSketch(playerID, homeRuns)"
			}
		]
	}
```

The `sumValuesIntegerSumTupleSketch` function can be used to combine the summary values (using `sum`) from the random sample stored within the Tuple sketch and formulate an estimate that applies to the entire dataset. See `avgValueIntegerSumTupleSketch` for extracting an average for integer summaries. If other merging options are required, it is best to extract the raw sketches directly or to implement a new Pinot aggregation function to support these.

```sql
select sumValuesIntegerSumTupleSketch(playerHomeRuns) as value
from baseballStats 
```

| value  |
| ------ |
| 276152 |

```sql
select sumValuesIntegerSumTupleSketch(playerHomeRuns, 'nominalEntries=65536;accumulatorThreshold=10') as value
from baseballStats 
```

| value  |
| ------ |
| 276152 |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pinot.apache.org/functions/sketch/sumvaluesintegersumtuplesketch.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
