ClickHouse:如何获取元组数组的 argMax
ClickHouse: How to get argMax for array of tuples
任务是获取第一项最大的元组。还有比下面更好的方法吗?
select arrayMax(u.a.1) first_item_max_in_array,
indexOf(u.a.1,first_item_max_in_array) index_in_array,
u.a[index_in_array].2 arg_max_second_item_first_item
from (
select [(1,10),(2,20),(3,30)] a
) u
考虑使用 Array-combinator:
WITH [(1, 10), (2, 20), (3, 30)] AS arr
SELECT argMaxArray(arr.2, arr.1) AS result
/*
┌─result─┐
│ 30 │
└────────┘
*/
任务是获取第一项最大的元组。还有比下面更好的方法吗?
select arrayMax(u.a.1) first_item_max_in_array,
indexOf(u.a.1,first_item_max_in_array) index_in_array,
u.a[index_in_array].2 arg_max_second_item_first_item
from (
select [(1,10),(2,20),(3,30)] a
) u
考虑使用 Array-combinator:
WITH [(1, 10), (2, 20), (3, 30)] AS arr
SELECT argMaxArray(arr.2, arr.1) AS result
/*
┌─result─┐
│ 30 │
└────────┘
*/