首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

某两列值相同,则把数据记录合并成一条,请问如何完成

2012-12-23 
某两列值相同,则把数据记录合并成一条,请教怎么完成?Oracle环境原始数据是比较复杂的语句查询出来,不能修

某两列值相同,则把数据记录合并成一条,请教怎么完成?
Oracle环境

原始数据是比较复杂的语句查询出来,不能修改原始语句。

表结构

col1   col2               col3               col4    col5   col6     col7 ......
1     DB12102601928      001-000193-00        1       A      100
2     DB12102601928      001-000193-00        0       B      80
3     DB12102601928      001-000193-00        1       B      45
4     JB12102601928      002-000193-00        0       C      50
5     HB12102601928      003-000193-00        1       B      80

如果col2和col3相同则把记录合并成一条,其中col6记录需要汇总,结果如下:
col1   col2               col3               col4    col5   col6     col7 ......
1     DB12102601928      001-000193-00        1       A      225
4     JB12102601928      002-000193-00        0       C      50
5     HB12102601928      003-000193-00        1       B      80

谢谢。

[最优解释]


select min(col1),col2,col3,sum(col4),min(col5),sum(col6)
  from t
group by col2,col3;


[其他解释]
--col1, col4,col5随便取值么?

select min(col1), col2, col3, min(col4), min(col5), sum(col6) from t group by col2, col3;

[其他解释]
其他列的数据怎么取?

热点排行