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
。