Tuple DoubleSummary Sketch Functions
DoubleSummary sketches provide cardinality estimation with a single summary double value per key. Values are summed on key collisions. Supports percentile queries on the summary values.
Table of contents
Aggregation Functions
ds_tuple_summary_sketch
Builds a DoubleSummary sketch. Duplicate keys have their values summed.
ds_tuple_summary_sketch(key, value) -> varbinary
| Parameter | Type | Description |
|---|---|---|
key | VARCHAR or BIGINT | Key to sketch |
value | DOUBLE | Summary value (summed on collision) |
ds_tuple_summary_union
Computes the union of multiple DoubleSummary sketches.
ds_tuple_summary_union(sketch) -> varbinary
Scalar Functions
ds_tuple_summary_estimate
Returns the cardinality estimate (number of distinct keys).
ds_tuple_summary_estimate(sketch) -> double
ds_tuple_summary_percentile
Returns the percentile of summary values across all retained entries.
ds_tuple_summary_percentile(sketch, percentile) -> double
| Parameter | Type | Description |
|---|---|---|
sketch | VARBINARY | DoubleSummary sketch |
percentile | DOUBLE | Percentile (0.0 to 100.0) |
Example:
-- Median total spend per user
SELECT ds_tuple_summary_percentile(
ds_tuple_summary_sketch(user_id, amount), 50.0
) AS median_spend
FROM orders;
ds_tuple_summary_stringify
ds_tuple_summary_stringify(sketch) -> varchar
DoubleSummary vs ArrayOfDoubles
| Property | DoubleSummary | ArrayOfDoubles |
|---|---|---|
| Value columns | 1 | 1+ |
| Percentile query | Yes | Via to_quantiles_sketch |
| T-test | No | Yes |
| Means/Variances | No | Yes |
| Simplicity | Simpler | More powerful |
Use DoubleSummary for simple “one value per key” scenarios where you want direct percentile access. Use ArrayOfDoubles when you need statistical comparisons or multiple value columns.