sql中listagg用法

SQL中的LISTAGG函数可以将同一个组内的多个行合并成一个字符串。下面是LISTAGG函数的用法:

LISTAGG(column_name, separator) WITHIN GROUP (ORDER BY order_column) OVER (PARTITION BY partition_column)

其中,column_name是要合并的列的名称,separator是列值之间的分隔符,order_column是按照该列的值排序合并,partition_column是按照该列的值分组合并。

以下是一个示例:

SELECT department_name, LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_name) AS employees
FROM employees
GROUP BY department_name;

这个例子中,我们从employees表中按照department_name分组,然后将每个组内的employee_name按照字母顺序排序,并用逗号分隔成一个字符串。最后,我们将结果重命名为employees

  •