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 │
└────────┘
*/