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

  1. Aggregation Functions
    1. ds_tuple_summary_sketch
    2. ds_tuple_summary_union
  2. Scalar Functions
    1. ds_tuple_summary_estimate
    2. ds_tuple_summary_percentile
    3. ds_tuple_summary_stringify
  3. DoubleSummary vs ArrayOfDoubles

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.


Back to top

Trino DataSketches Plugin — Apache License 2.0