gpt4 book ai didi

sql - 如何使用 Coalesce 和 Max 提取不为空的最大值列

转载 作者:行者123 更新时间:2023-12-02 21:02:18 27 4
gpt4 key购买 nike

我有列 A、B、C 和 D,并希望使用 MAX(COLUMN_A, COLUMN_B)/MAX(COLUMN_C, COLUMN_D) 创建新的计算列。

这些列中的一些行也有 NULL 值,我如何在 Impala 或 SQL 中执行此操作

enter image description here

最佳答案

为此,您可以使用 least()greatest()。忽略 NULL:

select greatest(a, b) / greatest(c, d)

问题是 NULL 值。我认为如果任何参数为 NULL,这些函数将返回 NULL。如果已知值是正数,您可以将 NULL 替换为 0:

select greatest(coalesce(a, 0), coalesce(b, 0)) / greatest(coalesce(c, 0), coalesce(d, 0))

或者,对于两个值,您可以使用此构造:

select greatest(coalesce(a, b), coalesce(b, a)) / greatest(coalesce(c, d), coalesce(d, c))

关于sql - 如何使用 Coalesce 和 Max 提取不为空的最大值列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37680955/

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