kql - Kusto 查询如何将表中的每一行作为参数进行迭代以在另一个表中查询?
问题描述
我有两个 'PlayersNames' 和 'PlayerSpendMondy' 我怎样才能迭代 'PlayersNames' 获取每个 PlayerName 然后得到每个玩家花了多少钱?Kusto 查询是否支持此功能?
let PlayerName = datatable(name:string)
[
'player1',
'player2',
'player3',
];
let PlayerSpendMoney = datatable(name:string, spendMoney:int)
[
'player1', 1,
'player2', 3,
'player3', 4,
'player1', 1,
'player2', 5,
'player3', 1,
'player3', 1,
]
解决方案
您可以使用join
operator来实现。
例如:
let PlayerName = datatable(name:string)
[
'player1',
'player2',
'player3',
]
;
let PlayerSpendMoney = datatable(name:string, spendMoney:int)
[
'player1', 1,
'player2', 3,
'player3', 4,
'player1', 1,
'player2', 5,
'player3', 1,
'player3', 1,
]
;
PlayerName
| join kind=leftouter (
PlayerSpendMoney
| summarize sum(spendMoney) by name
) on $left.name == $right.name
| project name, sum_spendMoney
| name | sum_spendMoney |
|---------|----------------|
| player1 | 2 |
| player2 | 8 |
| player3 | 6 |
推荐阅读
- python - 在 C++ 中写入 hdf5 文件会导致数据在某些时候被截断
- python-3.x - 如何在 python 3.8.5 中使用 isdigit()?
- amazon-web-services - 如何使用 ECS 和 EC2 实例集群实现零停机部署
- mysql - MariaDB 服务无法启动并出现 InnoDB Space id 错误
- pine-script - OTT 筛选器仅显示标签中的购买代码
- reactjs - Heroku heroku-nextjs buildpack 构建失败
- python - 如何保存通过烧瓶 send_file 发送的图像
- excel - 每次满足条件时增加 Selection.Resize
- python - Python中的类型检查验证 - 陷入循环
- mysql - SQL/Presto:如何根据另一个列表列中的值对列中的列表进行排序