返回输入中最常用的非重复值或具有最大和的值的近似值。
注意
top-hitters 使用在输入数据较大时针对性能进行优化的近似算法。
近似值基于 Count-Min-Sketch 算法。
语法
T|top-hittersNumberOfValuesofValueExpression [ bySummingExpression ]
详细了解语法约定。
参数
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
| T | string |
✔️ | 输入表格表达式。 |
| NumberOfValues | int、long 或 real | ✔️ | ValueExpression 的非重复值的数目。 |
| ValueExpression | string |
✔️ | 返回非重复值的输入表 T 上的表达式。 |
| SummingExpression | string |
如果指定此项,则输入表 T 上的数值表达式,其每个 ValueExpression 非重复值的总和将建立要发出的值。 如果未指定,则改为使用 ValueExpression 的每个非重复值的计数。 |
注意
在语法中包含 SummingExpression 时,查询等效于:
T | summarize S = sum(SummingExpression) by ValueExpression | top NumberOfValues by S desc在语法中不包含 SummingExpression 时,查询等效于:
T | summarize C = count() by ValueExpression | top NumberOfValues by C desc
示例
本节中的示例演示如何使用语法帮助你入门。
本文中的示例使用 帮助群集中的公开可用表,例如
StormEvents数据库中的 表。
按总计获取前 2 个事件
此示例通过计算每个事件类型的事件总数来汇总 storm 事件数据。 然后,该查询选择前两种事件类型,其总事件数最高。
StormEvents
| summarize TotalEventId = sum(EventId) by EventType
| top 2 by TotalEventId desc
输出
| 事件类型 | TotalEventId |
|---|---|
| 雷雨大风 | 562,509,013 |
| 冰雹 | 474,690,007 |
获取最频繁的项
此示例演示如何查找前 5 种类型的风暴。
StormEvents
| top-hitters 5 of EventType
输出
| 事件类型 | approximate_count_EventType |
|---|---|
| 雷雨大风 | 13015 |
| 冰雹 | 12711 |
| 山洪 | 3688 |
| 干旱 | 3616 |
| 冬季天气 | 3349 |
获取排名最靠前的项(基于列值)
此示例演示如何查找具有最多 雷暴风 事件的状态。
StormEvents
| where EventType == "Thunderstorm Wind"
| top-hitters 10 of State
输出
| 状态 | approximate_sum_State |
|---|---|
| 德克萨斯 | 830 |
| 佐治亚州 | 609 |
| 密歇根州 | 602 |
| 衣阿华州 | 585 |
| 宾夕法尼亚州 | 549 |
| 伊利诺伊州 | 533 |
| 纽约 | 502 |
| 弗吉尼亚州 | 482 |
| 堪萨斯州 | 476 |
| 俄亥俄州 | 455 |