在oracle 8。17里面:
select col1,sum(col2) from 表1 group by col1 这样是可以的。
我现在要的是下面的语句
select col1,(select sum(col2) from 表1 ) from 表1 group by col1这样就不行,系统老报col2不是group by表达式,请问该怎么处理呢?

解决方案 »

  1.   

    select * from 
    (select distinct col1 from 表1) a,(select sum(col2) from 表1 ) b;
      

  2.   

    我要用group by才能解决啊
      

  3.   

    你既然
    select col1,sum(col2) from 表1 group by col1 这样是可以的。
    为何要用
    select col1,(select sum(col2) from 表1 ) from 表1 group by col1
    不懂!
      

  4.   

    ???埠知道你具体想要实现的功能
    try:
    select distinct col1,sum(col2) over() from tbname;
      

  5.   

    "你既然
    select col1,sum(col2) from 表1 group by col1 这样是可以的。
    为何要用
    select col1,(select sum(col2) from 表1 ) from 表1 group by col1
    不懂!
    "是啊?????
      

  6.   

    select col1,(select sum(col2) from 表1 ) from 表1 group by col1
    是错的,因为
    select col1,sum(col2) from 表1 group by col1 的话是基于col1的col2合并,就是说将co1相同的记录进行col2的sum,并不是整列的sum。
    而select col1,(select sum(col2) from 表1 ) from 表1 group by col1 的时候:(select sum(col2) from 表1 )已经先将col2整列合并,试问它又如何能再进行分类合并。