collect_set, collect_list,concat_ws() , str_to_map

collect_set(col)函数只接受基本数据类型,它的主要作用是将某字段的值进行去重汇总,产生array类型字段。例如,如下数据记录,要统计每种no下的score,这里就可以配合group by 产生奇效。

selectno,collect_set(score)fromtest_tmp_sygroupbyno;

#返回一个列表[],‘,’隔开

collect_set,其与collect_list的区别就是会去重

selectno,collect_list(score)fromtest_tmp_sygroupbyno;

concat函数 连接函数

selectconcat(no,'-',score,'???')fromtest_tmp_sy;

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

selectconcat_ws(',',no,score)fromtest_tmp_sy;

str_to_map 用法 (把普通数组变为字典)

selectstr_to_map(concat_ws(',',collect_set(concat(no,'-',score))),',','-')fromtest_tmp_sygroupbyno

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,513评论 0 13
  • concat(s1,s2,s3.....) 讲多个字符串拼接在一起作为返回。 返回结果为连接参数产生的字符串。如有...
    阿登20阅读 1,779评论 0 1
  • MYSQL里的CONCAT函数用于将两个字符串连接起来,形成一个单一的字符串。 如下面的例子: mysql>sel...
    ZK_8849阅读 4,849评论 0 4
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,782评论 0 11
  • 一、CONCAT()函数【不同字段之间的连接】 CONCAT()函数用于将多个字符串连接成一个字符串。 用法:CO...
    qstar阅读 15,963评论 0 0