gpt4 book ai didi

hadoop - 如何返回给定 ID 的非空行 - Hive

转载 作者:可可西里 更新时间:2023-11-01 15:11:56 26 4
gpt4 key购买 nike

我有一张 table X

    ID    A     B
--------------
1 abc 27
1 - 28
2 - 33
3 xyz 41
3 - 07

我需要输出为

    ID    A     B
--------------
1 abc 27
2 - 33
3 xyz 41

我试过

max(A) OVER (PARTITION BY ID) as the_value

但是没有用。我仍然可以看到输出表中的所有行。

我想知道是否有人遇到过类似情况并且有解决办法?

最佳答案

您可以使用这个简单的技巧来获取某些列已达到最大值的完整记录:

select original.* from
(select ID,max(B) as B from Tbl group by ID ) maxB
inner join
(select * from Tbl ) original
on original.ID = maxB.ID and original.B = maxB.B

现在这当然是一个矫枉过正的代码。你也可以这样做:

select Tbl.* from
(select ID,max(B) as B from Tbl group by ID ) maxB
inner join
Tbl
on Tbl.ID = maxB.ID and Tbl.B = maxB.B

但第一个版本更多的是一个模板,可以用更多的列、字段、条件连接等做任何你想做的事。

关于hadoop - 如何返回给定 ID 的非空行 - Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35857224/

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