解决方案 »
- 求助,基本Oracle查询的问题
- oracle数据库如何备份还原为成sql server
- oracle跟SQL他们的优缺点到底在哪里?
- 看ORALCE中这棵树怎么显示,刚学ORACLE,急啊。。谢谢
- Oracle Clob 字段字数在2000到4000之间内容时出错
- oracle象sql中的test字段类型是什么?
- 好奇怪的Oracle问题,请大家一起来看看,这是为什么?
- 为什么????监听器问题!!!!
- 完整的 IMP EXP语法在那里可以得到
- oracle如何对查询结果进行2次处理
- 用PL/sql developer连接oracle数据库总是出现ora-12547tns丢失连接
- 关于反复更新(concat)一列中的数据的问题
select col1 , max(col2) , max(col3) , max(col4)
from mytable
group by col1
2 SELECT '01' COL1,'aa1' col2,null col3,null col4 from dual union all
3 SELECT '01' COL1,null col2,'bb1' col3,null col4 from dual union all
4 SELECT '01' COL1,null col2,null col3,'cc1' col4 from dual union all
5 SELECT '01' COL1,null col2,'bb2' col3,null col4 from dual union all
6 SELECT '02' COL1,'AA1' col2,'BB1' col3,null col4 from dual union all
7 SELECT '02' COL1,NULL col2,null col3,'CC1' col4 from dual
8 ),T1 AS(
9 SELECT COL1,MAX(COL2)KEEP(DENSE_RANK LAST ORDER BY ROWNUM) COL2 FROM T
10 WHERE COL2 IS NOT NULL
11 GROUP BY COL1
12 ),T2 AS(
13 SELECT COL1,MAX(COL3)KEEP(DENSE_RANK LAST ORDER BY ROWNUM) COL3 FROM T
14 WHERE COL3 IS NOT NULL
15 GROUP BY COL1
16 ),T3 AS(
17 SELECT COL1,MAX(COL4)KEEP(DENSE_RANK LAST ORDER BY ROWNUM) COL4 FROM T
18 WHERE COL4 IS NOT NULL
19 GROUP BY COL1
20 )
21 select T1.COL1,T1.COL2,T2.COL3,T3.COL4 from T1,T2,T3
22 WHERE T1.COL1=T2.COL1 AND T1.COL1=T3.COL1;CO COL COL COL
-- --- --- ---
01 aa1 bb2 cc1
02 AA1 BB1 CC1SQL>
SQL> WITH T AS(
2 SELECT '01' COL1,'aa1' col2,null col3,null col4 from dual union all
3 SELECT '01' COL1,null col2,'bb1' col3,null col4 from dual union all
4 SELECT '01' COL1,null col2,null col3,'cc1' col4 from dual union all
5 SELECT '01' COL1,null col2,'bb2' col3,null col4 from dual union all
6 SELECT '02' COL1,'AA1' col2,'BB1' col3,null col4 from dual union all
7 SELECT '02' COL1,NULL col2,null col3,'CC1' col4 from dual
8 )
9 SELECT COL1,
10 MAX(COL2)KEEP(DENSE_RANK LAST ORDER BY COL2 NULLS FIRST,ROWNUM) COL2,
11 MAX(COL3)KEEP(DENSE_RANK LAST ORDER BY COL3 NULLS FIRST,ROWNUM) COL3,
12 MAX(COL4)KEEP(DENSE_RANK LAST ORDER BY COL4 NULLS FIRST,ROWNUM) COL4
13 FROM T
14 GROUP BY COL1;CO COL COL COL
-- --- --- ---
01 aa1 bb2 cc1
02 AA1 BB1 CC1SQL>