+ -
当前位置:首页 → 问答吧 → 请教oracle 10G统计问题(谢谢)

请教oracle 10G统计问题(谢谢)

时间:2010-08-06

来源:互联网

本帖最后由 qcgxlg 于 2010-08-06 14:12 编辑

数据如下:

       KH               DATE             JE           NAME     
  ----------    -----------     ----------    ---------   
  11              20070927      2033.2       AAAA  
  22              20070928      2750.28      BBBB
  33              20070929      2885.68      CCCC
  44              20070930      2556.68      DDDD
  44              20070930      2903.04      DDDD
  55              20070930      1002.96      EEEE
   66              20070930      1038.24      AAAA
      55             20070930       2000.00     EEEE
      66             20070930      4000.00     AAAA
      11             20070927      3000.00    AAAA

提出问题:

      要求按KH统计输出:JE的和大于5000,DATE为20070930的记录.即结果如下:
    KH                       DATE               sum(JE)           NAME     
-------------      ----------------    ----------     ------------
44                     20070930            5459.72      DDDD
66                    20070930            5038.24      AAAA

数据库为oracle,请问这样的SQL语句,该怎么写?谢谢

作者: qcgxlg   发布时间: 2010-08-06

  1. select kh,date1,sum(je),name
  2. from ttest
  3. where date1='20070930'
  4. group by kh,date1,name
  5. having sum(je)>5000;
复制代码
这样行不行。

作者: renxiao2003   发布时间: 2010-08-06

不行,报错!

作者: qcgxlg   发布时间: 2010-08-06

我再试试,少输入东西了.谢谢

作者: qcgxlg   发布时间: 2010-08-06

问题解决:


select * from(select t.*,sum(je)over(partition by kh)  sum_cn from t where date = '20070930') where sum_cn > 5000

作者: qcgxlg   发布时间: 2010-08-06



QUOTE:
问题解决:


select * from(select t.*,sum(je)over(partition by kh)  sum_cn from t where date = '20 ...
qcgxlg 发表于 2010-08-06 14:41




    你这样的输出不是你想要的结果,请看。
下载 (21.39 KB)
2010-08-06 15:15

作者: renxiao2003   发布时间: 2010-08-06