gpt4 book ai didi

sql - 如何在presto中的两个值之间取最大值?

转载 作者:行者123 更新时间:2023-12-04 00:19:14 24 4
gpt4 key购买 nike

我有以下查询:

select id, table1.date1, table2.date2, table1.name
from table1
join table2 using (id)

我还想有另一个专栏 MAX(table1.date1, table2.date2)但我没有找到合适的语法。我不希望 MAX 遍历表中的所有行并取 MAX() 我希望它从行中指定的两个值中选择最大值。

例子:
id  date1       date2    name    max
1 2020-01-01 2020-04-01 A 2020-04-01
2 2019-02-01 2020-01-03 B 2020-01-03
3 2019-02-01 null c 2019-02-01

我也不能分组,因为我不想在这里分组任何东西。
它更类似于 coalesce给出值的函数列表并从中选择最大值

最佳答案

使用 greatest() :

select id, t1.date1, t2.date2, t1.name,
greatest(t1.date1, t2.date2)
from table1 t1 join
table2 t2
using (id);

请注意 greatest()返回 NULL如果任何参数是 NULL .所以,如果你有 NULL值,您将需要特别注意。

关于sql - 如何在presto中的两个值之间取最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61919230/

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