hive_collect_list的排序,取值_nanyangjx

2 篇文章 0 订阅
select 
cookieid,
sort_array(collect_list(createtime_detail))[0] as time_listfrist,--拿到的list集合排序并且取最小值
sort_array(collect_list(createtime_detail))[size(collect_list(createtim`在这里插入代码片`e_detail))-1] as time_listend,--拿到的list集合排序并且取最大值
collect_list(pv)[0] as pv_min,--list不排序取第一个值
collect_list(pv)[size(collect_list(pv))-1] as pv_max --list不排序取最后一个值
from cookie
group by cookieid;
select cookieid,
--min(createtime_detail) as r,--求最小值
--find_in_set(min(createtime_detail),concat_ws(',',collect_list(cast(createtime_detail as string))))-1 as r1--求值在数组中的索引
collect_list(createtime_detail)[find_in_set(min(createtime_detail),concat_ws(',',collect_list(cast(createtime_detail as string))))-1] as time_listfrist,--求值
collect_list(createtime_detail)[find_in_set(max(createtime_detail),concat_ws(',',collect_list(cast(createtime_detail as string))))-1] as time_listend,
collect_list(pv)[find_in_set(min(createtime_detail),concat_ws(',',collect_list(cast(createtime_detail as string))))-1] as pv_createtime_detail_min,
collect_list(pv)[find_in_set(max(createtime_detail),concat_ws(',',collect_list(cast(createtime_detail as string))))-1] as pv_createtime_detail_max
from cookie
group by cookieid;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值