On this page
Kater SQL Functions Aggregations
KATER__LIST
The field's different values, as one text value.
Family: Aggregations
Syntax
KATER__LIST(field)Arguments
| Argument | Description |
|---|---|
field | The field to aggregate. |
Returns
Text: each different value once, in text order, separated by a comma and a space.
Usage notes
- Values sort as text, so 10 comes before 9.
- Empty values are left out. A group with only empty values gives NULL.
- A list longer than 512 characters is cut short, and ends with an ellipsis (…).
Example
This Sandbox query reads the sample shop’s orders. The table shows the rows that Kater gave.
SELECT orders.region AS "Region", KATER__LIST(orders.channel) AS "Channels"FROM kater_dataset.orders AS ordersGROUP BY orders.regionORDER BY 1| Region | Channels |
|---|---|
| AMER | email, paid, store, web |
| APAC | email, paid, store, web |
| EMEA | email, paid, store, web |
| LATAM | email, paid, store, web |
| null | email, paid, store, web |
Compiles to
CASE WHEN LENGTH( LISTAGG( DISTINCT CAST(orders.channel AS TEXT), ', ' ORDER BY CAST(orders.channel AS TEXT) ) ) > 512 THEN LEFT( LISTAGG( DISTINCT CAST(orders.channel AS TEXT), ', ' ORDER BY CAST(orders.channel AS TEXT) ), 511 ) || '…' ELSE LISTAGG( DISTINCT CAST(orders.channel AS TEXT), ', ' ORDER BY CAST(orders.channel AS TEXT) )ENDCASE WHEN LENGTH( LISTAGG(DISTINCT CAST(orders.channel AS VARCHAR), ', ') WITHIN GROUP (ORDER BY CAST(orders.channel AS VARCHAR)) ) > 512 THEN LEFT( LISTAGG(DISTINCT CAST(orders.channel AS VARCHAR), ', ') WITHIN GROUP (ORDER BY CAST(orders.channel AS VARCHAR)), 511 ) || '…' ELSE LISTAGG(DISTINCT CAST(orders.channel AS VARCHAR), ', ') WITHIN GROUP (ORDER BY CAST(orders.channel AS VARCHAR))ENDSee also
- Measures
- Other functions in Aggregations:
KATER__SUM,KATER__AVG,KATER__MIN,KATER__MAX,KATER__COUNT,KATER__COUNT_DISTINCT,KATER__COUNT_TRUE,KATER__COUNT_FALSE