解决方案 »

  1.   

    select to_char(sda.createdate,'yyyymm') 月份,
    sum(sda.cpcconsume)/100/to_number(to_char(last_day( to_date(to_char(sda.createdate,'yyyymm') ||'01','yyyymmdd') ),'dd'))
    from queryman.stat_day_account sda 
    group by to_char(sda.createdate,'yyyymm')
      

  2.   


    -- LZ 执行下面的语句,也出错吗?
    select to_char(      last_day(        to_date('20130101','yyyy-mm-dd') ),'dd')  from dual 
      

  3.   


    我不知道怎么一下子计算出6各月的数据,所以先算1月份的。结果执行的时候提示算数运算导致溢出。问题出在计算每个月多少天那里 了,我把
    select sum(sda.cpcconsume / 100 / (to_date('20140630', 'yyyymmdd') -
               to_date('20140101', 'yyyymmdd') + 1))
      from queryman.stat_day_account sda
     where sda.createdate >= to_date('20130101', 'yyyymmdd')
       and sda.createdate <= to_date('20130630', 'yyyymmdd')
     having(sum(sda.cpcconsume) / 100) >= 500;
      

  4.   


    我不知道怎么一下子计算出6各月的数据,所以先算1月份的。结果执行的时候提示算数运算导致溢出。问题出在计算每个月多少天那里 了,我把
    select sum(sda.cpcconsume / 100 / (to_date('20140630', 'yyyymmdd') -
               to_date('20140101', 'yyyymmdd') + 1))
      from queryman.stat_day_account sda
     where sda.createdate >= to_date('20130101', 'yyyymmdd')
       and sda.createdate <= to_date('20130630', 'yyyymmdd')
     having(sum(sda.cpcconsume) / 100) >= 500;
    多谢帮助。我想要计算每个月的平均收益,你的答案计算的是这6各月的平均收益吧
      

  5.   


    我不知道怎么一下子计算出6各月的数据,所以先算1月份的。结果执行的时候提示算数运算导致溢出。问题出在计算每个月多少天那里 了,我把
    select sum(sda.cpcconsume / 100 / (to_date('20140630', 'yyyymmdd') -
               to_date('20140101', 'yyyymmdd') + 1))
      from queryman.stat_day_account sda
     where sda.createdate >= to_date('20130101', 'yyyymmdd')
       and sda.createdate <= to_date('20130630', 'yyyymmdd')
     having(sum(sda.cpcconsume) / 100) >= 500;
    多谢帮助。我想要计算每个月的平均收益,你的答案计算的是这6各月的平均收益吧
    你是在其他程序中调用报错还是在SQL执行的时候报错?
      

  6.   

    你把createdate 字段转成YYYYMM6位,然后根据这个6位的字段分组求不就行了么