在Oracle中将SQL行转换为逗号分隔值

时间:2012-02-01 02:13:07

标签: sql oracle

  

可能重复:
  How can I combine multiple rows into a comma-delimited list in Oracle?

如何在不创建函数的情况下从SQL中的返回行列表生成逗号分隔值?需要删除重复项并使用null或使用“无”作为值。

示例:select name from student;

结果:

         NAME         
        ------
        Zed
        Charlo
        None
        Charlo
        Dionn
        Ansay

期望的输出:

              Name
             -------
             Zed,Charlo,Dionn,Ansay

1 个答案:

答案 0 :(得分:20)

http://sqlfiddle.com/#!4/9ad65/2

select 
  listagg(name, ',') 
    within group (order by id) as list 
from student