Vij*_*jay 1 sql oracle oracle11g
我创建了一个简单的表格,其中包含如下数字:
CREATE TABLE saleshist (q1 NUMBER);
INSERT INTO saleshist VALUES (100);
INSERT INTO saleshist VALUES (101);
INSERT INTO saleshist VALUES (102);
INSERT INTO saleshist VALUES (103);
select * from saleshist
Run Code Online (Sandbox Code Playgroud)
上面的选择显示了一个单列,如:
100
102
102
103
Run Code Online (Sandbox Code Playgroud)
我希望看到如下输出:
100,101,102,103
Run Code Online (Sandbox Code Playgroud)
是的,它是单个行中的逗号分隔列值作为单个值。这只是我想到的一个例子,列值可以有很多。我想 UNPIVOT 可以做到这一点但我无法正确理解。我想到的解决方案的最佳方法是编写一个 perl 脚本并执行查询,然后将行转换为以逗号分隔的列。有没有一种直接的方法可以在 sql 本身中做到这一点?
您可以使用LISTAGG:
select listagg(q1, ',') within group (order by null) from saleshist
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |