繁体   English   中英

Spark SQL 中 LISTAGG() 的等价物

[英]Equivalent of LISTAGG() in Spark SQL

我正在 Spark SQL 中重写 Redshift SQL。由于 LISTAGG() 在 Spark SQL 中不受支持,是否有等效的 function 或解决方法来实现它?

红移 SQL:

SELECT
        dp_info_id,
        dp_type,
        CASE
            WHEN COALESCE(type,'-1') = 'Primary Name' 
            THEN LISTAGG(DISTINCT fir_name,'|') WITHIN GROUP (ORDER BY dp_info_id) 
            ELSE NULL
        END AS primary_first_name,
FROM
        dp_info c
GROUP BY
        dp_info,
        type,
        dp_type

要从组中获取所有值的数组,我猜你应该使用 collect_set ( https://docs.databricks.com/sql/language-manual/functions/collect_list.html )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM