zl程序教程

您现在的位置是:首页 >  后端

当前栏目

数仓工具—Hive语法之collect_set 和 collect_list(17)

setList工具 语法 hive 17 数仓 collect
2023-09-11 14:15:37 时间

collect_set 和 collect_list

今天我们介绍两个函数 collect_sets 和 collect_list,其实看到这两个函数的名字你也能猜个七七八八了,我们都知道如果我们在使用聚合函数的时候,或者分组汇总的时候,我们算出来的都是具体的指标,例如求和、计数什么的,举个例子,假设 我们有一张表student(stu_id int,class_id int),一般情况下我们都是统计这个每个班级有多少学生,那这个SQL 很简单

select
	class_id,count(stu_id) as stu_cnt
from
	student
group by
	class_id

这是我们比较常见的计算场景,现在如果我想获得每个班的学生列表,最终的结果是下面这样的

class_id,stulist
班级1,stu1 stu2 stu3 stu4
班级2,stu5 stu6 stu6 stu8

就是每个班级对应一个列表(或者是字符串