如题。

解决方案 »

  1.   

    ORACLE的计算函数多了去了,不知道你想要哪种计算方式的函数?
      

  2.   

    首先,感谢楼上的同仁!
    比如我在sql server 中可以这样写脚本
    SELECT L_personal_ID,
           L_COMPANY_ID,
           EN_COMPANY_count,
           EN_PERSON_count
      FROM LEVYDETAIL
     WHERE L_LEVY = 200501
       AND lyear= '2005'
       AND status <> '0'
     ORDER BY L_personal_ID,
             EN_COMPANY_count,
             EN_PERSON_count
    COMPUTE SUM(EN_COMPANY_count), 
            SUM(EN_PERSON_count), 
     
    BY L_COMPANY_ID我就可以按单位进行小计,但在ORACLE 中该如何写呢?
      

  3.   

    没有什么sqlserver的经验,也没有看懂 COMPUTE  究竟要执行什么功能?有没有汉语描述啊?
    是比较,还是其他什么?
    oracle的order by 之后,基本上没有什么其他的语句了,如果要实现功能,应该是在orderby 前面实现的吧?
      

  4.   

    COMPUTE应该是在结果集后加上一个统计行,sql server中好像可以用rollup和cube 来代替了,oracle中也有rollup和cube 的用法的;
    例子:SQL> select decode(grouping(userid),1,'总合',userid) userid,
      2  sum(num1),sum(num2) from test1 t
      3  group by rollup(userid);USERID      SUM(NUM1)  SUM(NUM2)
    ---------- ---------- ----------
    user001            12         32
    user002            31         13
    user003            23         32
    user004            23         43
    总合               89        120当然你也可以这样写:
    SQL> select decode(grouping(userid),1,'总合',userid) userid,
      2  sum(num1),sum(num2) from test1 t
      3  group by userid,rollup(userid);
    不过结果跟上面的有点不一样的,而且在oracle中rollup和cube 的用法比sql server要更灵活些,
    也可以参看下面的例子:
    http://community.csdn.net/Expert/topic/4226/4226144.xml?temp=.458523
      

  5.   

    非常感谢duanzilin(寻)。
    本来想结贴的,但不知怎么回事,给分都没了。