某表:(COST)
字段是﹕
JZ(機種),MH(模號),NM(名稱),DBJ(得標價),KB(課別),Y(年),M(月)本表包括2年的數據2007-2008﹐KB(課別)1-6個課。
現在需要計算出每一課﹐每一年﹐每一月的總DBJ(得標價)AS ZDBJ,后跟出該數據的年份﹐月份。Select sum(dbj)as zdbj,kb,y,m from cost where y=2008 and m=9 and kb=1報錯﹗  是﹕  ERROR 在行 1:
ORA-00937: 不是單一群組的群組函數請問我要怎樣解決這個問題﹐請夠受指點~~~~~~﹗

解决方案 »

  1.   

    Select sum(dbj)as zdbj from cost where y=2008 and m=9 and kb=1 
      

  2.   

    Select sum(dbj)as zdbj,kb,y,m from cost group by kb,y,m
      

  3.   

    有SUM之类,再有其它字段,就需要group by
    要么用分析函数
      

  4.   


    SELECT KB,Y,M,SUM(DBJ) "ZDBJ"
      FROM COST
     GROUP BY KB,Y,M;
      
    -- 加过滤条件后的写法
    SELECT KB,Y,M,SUM(DBJ) "ZDBJ"
      FROM COST
     WHERE Y = 2008
       AND M = 9
       AND KB = 1
     GROUP BY KB,Y,M;
      

  5.   

    使用group by。体会一下group by 的语义:
    Select JZ(機種),kb 課別,y 年份,m 月份,sum(dbj) 总得標價 from cost
           order by JZ,kb,y,m
           group by JZ,kb,y,m;
      

  6.   


    SELECT KB,Y,M,SUM(DBJ) AS ZDBJ
      FROM COST
     WHERE Y = 2008
       AND M = 9
       AND KB = 1
     GROUP BY KB,Y,M;
      

  7.   

    对月,年进行group by 分组汇总