返回输入中最常用的非重复值或具有最大和的值的近似值。
注意
top-hitters
使用在输入数据较大时针对性能进行优化的近似算法。
近似值基于 Count-Min-Sketch 算法。
语法
T|
top-hitters
NumberOfValuesof
ValueExpression [ by
SummingExpression ]
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
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 |