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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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