Tabular OperatorsAggregate Operators Groups rows and calculates aggregate values over each group.
Groups rows and calculates aggregate values over each group. Without a by clause, aggregates all rows into a single result.
summarize aggregation, ...
Aggregate all rows
| Name | Description |
|---|
| aggregation | Aggregation function (count(), sum(), avg(), etc.) |
summarize aggregation, ... by column, ...
Aggregate grouped by columns
| Name | Description |
|---|
| aggregation | Aggregation function (count(), sum(), avg(), etc.) |
| column | Column or expression to group by |
datatable(clan:string, warrior:string, battles:long)[
"Ragnarsson", "Bjorn", 15,
"Ragnarsson", "Ivar", 22,
"Ragnarsson", "Sigurd", 8,
"Lothbrok", "Ragnar", 30,
"Lothbrok", "Lagertha", 18,
"Fairhair", "Harald", 25,
"Fairhair", "Halfdan", 12
]
| summarize total_battles = sum(battles), warriors = count(), best = max(battles) by clan
| clan (string) | total_battles (long) | warriors (long) | best (long) |
|---|
| Fairhair | 37 | 2 | 25 |
| Lothbrok | 48 | 2 | 30 |
| Ragnarsson | 45 | 3 | 22 |
datatable(weapon:string, warrior:string)[
"axe", "Ragnar",
"sword", "Bjorn",
"axe", "Ivar",
"spear", "Lagertha",
"axe", "Floki",
"sword", "Harald"
]
| summarize count() by weapon
| weapon (string) | count_ (long) |
|---|
| axe | 3 |
| spear | 1 |
| sword | 2 |
datatable(region:string, raid:string, silver:long)[
"England", "Lindisfarne", 500,
"Francia", "Paris", 7000,
"England", "York", 1200,
"Francia", "Rouen", 3000,
"England", "Winchester", 300
]
| summarize total_silver = sum(silver), raids = count() by region
| region (string) | total_silver (long) | raids (long) |
|---|
| England | 2000 | 3 |
| Francia | 10000 | 2 |
datatable(warrior:string, voyages:long)[
"Ragnar", 42,
"Bjorn", 31,
"Ivar", 35,
"Lagertha", 28,
"Harald", 25
]
| summarize avg(voyages), max(voyages), min(voyages)
| avg_voyages (real) | max_voyages (long) | min_voyages (long) |
|---|
| 32.2 | 42 | 25 |