如何在oracle中实现以下功能?oracle多行合并为一个
COL1 COL2 COL3 COL4
ROW1 A C
ROW2 B D
期望的结果
COL1 COL2 COL3 COL4
ROW1 A B C D
如何在oracle中实现以下功能?oracle多行合并为一个
COL1 COL2 COL3 COL4
ROW1 A C
ROW2 B D
期望的结果
COL1 COL2 COL3 COL4
ROW1 A B C D
您可以简单地使用MIN()
和MAX()
。让我们把你的表mytable
和列的条目ROW1
,ROW2
为col2
select MIN(col0) col0, MAX(col1) col1, MAX(col2) col2,
MAX(col3) col3, MAX(col4) col4 FROM mytable;
输出:
COL1 COL2 COL3 COL4
ROW1 A B C D
注:该解决方案是不是为了实现这样的输出的一般方法并取决于数据。它适用于这种特殊情况。
不工作,谢谢所有 – RAHIOUI
什么不工作?您的数据与您在问题中显示的内容不同。您需要相应地更改查询。 –
提示:Group by,MAX。 – sagi
如果行数更多,会发生什么?你如何决定ROW1和ROW2应该加入?如果ROW2在COL1中有一个值呢?什么...请更新你的文章,并试图准确地描述你将要实现的目标 –
欢迎使用SO,请参考[tour](https://stackoverflow.com/tour)并阅读[如何提问] (https://stackoverflow.com/help/how-to-ask)。不要忘记提供一些代码([Minimal,Complete,and Verifiable example])(https://stackoverflow.com/help/mcve),并使用[提供的降价选项](https:// stackoverflow。 COM /编辑 - 帮助)。 –