Oracle根据某相同值的字段合并字符串并用分隔符隔开
时间: 2024-01-05 10:02:38 浏览: 116
在 Oracle 数据库中,可以使用 LISTAGG 函数来实现根据某相同值的字段合并字符串并用分隔符隔开。例如,假设有一个表格叫做 orders,其中有 customer_id 和 product_name 两个字段,需要将相同 customer_id 的产品名称合并为一个以逗号分隔的字符串,可以使用以下 SQL 语句:
```
SELECT customer_id, LISTAGG(product_name, ',') WITHIN GROUP (ORDER BY product_name) AS products
FROM orders
GROUP BY customer_id;
```
这将按照 customer_id 分组,并将每个组内的 product_name 合并为一个以逗号分隔的字符串,最终得到一个名为 products 的字段,其中包含每个顾客的产品名称。其中,WITHIN GROUP 子句用于指定分隔符,ORDER BY 子句用于指定合并顺序。
阅读全文