小弟在线急等 谢谢了

解决方案 »

  1.   

    那个帖子里已经回复了,这个不能用吗
    select avg(col1) from tt 
      where to_char(datetime,'mmd')=to_char(add_months(sysdate,-1),'mmd')
      

  2.   

    这样更好点
    select avg(col1) from tt
      where to_char(datetime,'yyyymmd')=to_char(add_months(sysdate,-1),'yyyymmd')
      

  3.   

    select avg(seriesdate) from (
       select last_day(add_months(sysdate,-2)) + rownum as seriesdate from dual 
       connect by rownum <=last_day(add_months(sysdate,-1)) - last_day(add_months(sysdate,-2))
      )
    where mod((sysdate-seriesdate),7) = 0;没oracle没法测试,试试吧
      

  4.   

    今天好有不少兄弟在答题,真热心,我也来一个select avg(col1) from table1 where trunc(datefield, 'MM')=trunc(add_months(sysdate, -1), 'MM') and to_char(datefield, 'D')=7;
      

  5.   

    SELECT TO_CHAR(Date_column,'D') AS "上个月的星期天", AVG(Data_column) "平均数"
     FROM Table_name
    WHERE TO_CHAR(Date_column,'yyyy-mm-dd')>=TO_CHAR(ADD_MONTHS(LAST_DAY(SYSDATE)+1,-2),'yyyy-mm-dd') --上月第一天
      AND TO_CHAR(Date_column,'yyyy-mm-dd')<=TO_CHAR(  LAST_DAY(ADD_MONTHS(LAST_DAY(SYSDATE)+1,-2)),'yyyy-mm-dd') --上月最后一天
      AND TO_CHAR(Date_column,'D')=7 --星期六是一周的第7天
    GROUP BY TO_CHAR(Date_column,'D');
      

  6.   


    改一下这个sql select avg(col1) from tt
       where to_char(datetime,'yyyymmd')=to_char(add_months(sysdate,-1),'yyyymm')||'7'
      

  7.   

    如果指定是星期六,这么改没错
    可是楼主的意思看起来强调星期六和今天的关系,是想让上个月的星期六和今天这个星期六进行比较吧
    所以用了sysdate
      

  8.   

    select avg(col1) from tt 
      where to_char(datetime,'yyyymmd')=to_char(add_months(sysdate,-1),'yyyymmd')
      

  9.   

    今天是星期几,就求上个月的星期几的平均值呵呵:正确简洁答案如下:
    select avg(col1) from tt 
      where to_char(datetime,'yyyymmd')=to_char(add_months(sysdate,-1),'yyyymm')||to_char(sysdate,'d');
      

  10.   

    大家真热心 小弟谢谢大家了
    SELECT AVG(COLL) FROM TT
     WHERE to_char(gather_date,'DAY') = to_char(sysdate, 'DAY')
      and gather_date >= trunc(add_months(sysdate, -1),'mm')
      and gather_date <  trunc(sysdate,'mm')
    这样行不行啊