gpt4 book ai didi

amazon-athena - 如何从直方图中选择与最大值对应的键?

转载 作者:行者123 更新时间:2023-12-04 16:29:10 24 4
gpt4 key购买 nike

我正在使用 histogram() 函数 https://prestodb.github.io/docs/current/functions/aggregate.html

它“返回一个映射,其中包含每个输入值出现的次数的计数。”

结果可能如下所示:

{ORANGES=1, APPLES=165, BANANAS=1}

根据上述输入,是否有返回 APPLES 的函数?

XY 问题?

精明的读者可能会注意到 histogram() 的最终结果与我正在尝试做的事情相结合,相当于神话中的 Mode Function,它存在于教科书中,但不存在于现实世界的数据库引擎中。

这是我此时的完整查询。我正在为每个 upper(address),zip 元组寻找最常出现的 upper(cmplx) 值:

select * from (select upper(address) as address, zip, 
(SELECT max_by(key, value)
FROM unnest(histogram(upper(cmplx))) as t(key, value)),
count(*) as N
from apartments
group by upper(address), zip) t1
where N > 3
order by N desc;

还有错误...

SYNTAX_ERROR: line 2:55: Constant expression cannot contain column references

最佳答案

这是我用来从任意映射中获取对应于最大值的键的方法:

MAP_KEYS(mapname)[
ARRAY_POSITION(
MAP_VALUES(mapname),
ARRAY_MAX(MAP_VALUES(mapname))
)
]

用您的直方图替换“mapname”。

不确定此解决方案在计算上与其他答案相比如何,但我确实发现它更易于阅读。

关于amazon-athena - 如何从直方图中选择与最大值对应的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54859027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com