如何编写查询以将列中的所有值放入字符串(将列转换为行)?

时间:2013-04-11 13:51:56

标签: sql oracle

如果这是数据列:

+----+-------------+  
| id | data        |  
+----+-------------+  
|  1 | max         |  
|  2 | linda       |  
|  3 | sam         |  
|  4 | henry       |  
+----+-------------+  

所以如何进行查询会产生结果:

"max, lina, sam, henry"

很像列到行的变换。上面只是一个简单的演示,可能在data字段上有10000+记录。

1 个答案:

答案 0 :(得分:2)

对于11g,请使用LISTAGG

SELECT LISTAGG("data", ', ') WITHIN GROUP (ORDER BY "id") "data"
FROM TableName