Oracle中LISTAGG 函数的介绍以及使用详情
LISTAGG函数在Oracle数据库中用于将一个组中的记录合并为一个用特定分隔符分隔的字符串。
使用LISTAGG函数的基本语法如下:
LISTAGG(column, delimiter) WITHIN GROUP (ORDER BY column)
- column:要合并的列。
- delimiter:用于分隔列值的字符串。
下面是一个使用LISTAGG函数的例子:
假设我们有一个名为employees的表,其中包含employee\_id和name列。
CREATE TABLE employees (employee_id NUMBER, name VARCHAR2(50));
INSERT INTO employees (employee_id, name) VALUES (1, 'Alice');
INSERT INTO employees (employee_id, name) VALUES (2, 'Bob');
INSERT INTO employees (employee_id, name) VALUES (3, 'Charlie');
INSERT INTO employees (employee_id, name) VALUES (4, 'David');
现在我们要将所有员工的名字合并为一个由逗号分隔的字符串。
SELECT LISTAGG(name, ', ') WITHIN GROUP (ORDER BY name) AS employees_list
FROM employees;
这将返回一个名为employees\_list的单一字符串,其中包含所有名字,由逗号和空格分隔,按字母顺序排序。
例如,输出可能是:
Alice, Bob, Charlie, David
评论已关闭