Skip to main content
Since 1.16.0 Get the top N most common values from a space-saving aggregate. The space-saving aggregate can be created from either freq_agg or mcv_agg.
topn (
    agg SpaceSavingAggregate,
    n INTEGER
) RETURNS AnyElement

Arguments

NameTypeDefaultRequiredDescription
aggSpacingsavingAggregate-A space-saving aggregate created using either freq_agg or mcv_agg
nINTEGER-The number of values to return. Required only for frequency aggregates. For top N aggregates, defaults to target N of the aggregate itself, and requests for a higher N return an error. In some cases, the function might return fewer than N values. This might happen if a frequency aggregate doesn’t contain N values above the minimum frequency, or if the data isn’t skewed enough to support N values from a top N aggregate.

Returns

ColumnTypeDescription
topnAnyElementThe N most-frequent values in the aggregate

Samples

Get the 20 most frequent zip_codes from an employees table:
SELECT topn(mcv_agg(20, zip_code)) FROM employees;