All*_*ris 3 kql azure-data-explorer appinsights kusto-explorer
我正在尝试编写一个 Kusto 查询来查找在由另一列分组的列中具有最大值的记录,但还需要第三个(剩余)列。
假设有三列 A(时间戳)B(impvalue:数字)和 C(另一个值:字符串)。我需要获取按 C 和最大时间戳分组的记录及其相应的 B 列。
在 Sql 中,我很清楚如何使用自连接来做到这一点。我是 Kusto 的新手,我尝试了一些与 summarise、join 和 top 运算符的组合,但无法使其工作。
例子:
输出:
您可以使用arg_max()聚合函数:https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/arg-max-aggfunction。
例如:
datatable(A:datetime, B:long, C:string)
[
datetime(2020-08-20 12:00:00), 50, "abc",
datetime(2020-08-20 12:10:00), 30, "abc",
datetime(2020-08-20 12:05:00), 100, "abc",
datetime(2020-08-20 12:00:00), 40, "def",
datetime(2020-08-20 12:05:00), 120, "def",
datetime(2020-08-20 12:10:00), 80, "def",
]
| summarize arg_max(A, *) by C
Run Code Online (Sandbox Code Playgroud)
| C | A | 乙 |
|---|---|---|
| ABC | 2020-08-20 12:10:00.0000000 | 30 |
| 定义 | 2020-08-20 12:10:00.0000000 | 80 |
| 归档时间: |
|
| 查看次数: |
2454 次 |
| 最近记录: |