gpt4 book ai didi

sql - Hadoop/Hive-基于CASE语句将列归为一-艰难的格式

转载 作者:行者123 更新时间:2023-12-02 22:07:46 26 4
gpt4 key购买 nike

我有一个显示如下的数据集:

Current Data Set

我想将数据集推导出为每行一个 session ,如果发生则显示"is" ...例如,对于 session #5,它应该显示:

Desired Data Set

我正在使用Hive进行此操作...有人有任何建议吗?从逻辑上讲,我可以合理地点点它,但我无法弄清楚。

最佳答案

试试下面的查询,您将完全按照上面的预期获得答案。

选择s_id,如果cont = 1则为'Yes',否则为'No'结束,如果cont1 = 1则为'Yes',否则为'No'结束,如果cont2 = 1则为'Yes',否则为'No'结束,为cont3 = 1然后'是'否则'否'结束,如果cont4 = 1则为'Yes'否则'否'结束,如果cont5 = 1则为'Yes'否则'否'从(选择s_id,如果计数(s_id)> 1或count(s_id)= 1,然后sum(cnt)以cont结尾,当count(s_id)> 1或count(s_id)= 1时,sum(cnt1)以cont1结尾,当count(s_id )> 1或count(s_id)= 1,然后sum(cnt2)以cont2结尾,当count(s_id)> 1或count(s_id)= 1时,sum(cnt3)以cont3结尾,当count(s_id)> 1或count(s_id)= 1,然后sum(cnt4)以cont4结尾,当count(s_id)> 1或count(s_id)= 1,然后sum(cnt5)以cont5结尾,从(select s_id,当dd = 1时然后1 else 0以cnt3结尾,当dd1 = 1时为例,然后1 else 0以cnt1结束,case当dd2 = 1时则为1,否则else 0以cnt2结尾,当dd3 = 1时则为1 else 0以cnt3结尾,在dd4时为case = 1则1否则0终止为cnt4,如果dd5 = 1则1否则0终止为cnt5从(选择s_id,regexp_r eplace(url1,'Yes',1)as dd,regexp_replace(url2,'Yes',1)as dd1,regexp_replace(url3,'Yes',1)as dd2,regexp_replace(url4,'Yes',1)as dd3,regexp_replace(url5,'Yes',1)为dd4,regexp_replace(url6,'Yes',1)如dd5,来自eg4)a)b,由s_id)c组;

关于sql - Hadoop/Hive-基于CASE语句将列归为一-艰难的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35248187/

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