weixin_44670664 2020-11-30 11:55 采纳率: 50%
浏览 263
已采纳

Oracle 分组 平均值

表 a_tj 里面有2个字段(时间 sj, 访问人数 num)
现在要求出 每个月最后五天的平均访问量 

  • 写回答

3条回答 默认 最新

  • 阿飞คิดถึง 2020-12-01 15:49
    关注

    我这里默认每天都有计数且无重复记录,sj字段形式是2020-01-01, 可能写的不是很好,仅供参考。

    with s as (
    select substr(sj,1,7) as mon,max(sj) as maxsj,to_char(to_date(max(sj),'yyyy-MM-dd')-4,'yyyy-MM-dd') as minsj from a_tj
    group by substr(sj,1,7) 
    )
    select 
    s.mon,
    avg(a_tj.num) as aver_num
    from a_tj
    left join s 
    on substr(a_tj.sj,1,7) = s.mon
    where a_tj.sj >= s.minsj and a_tj.sj <= s.maxsj
    group by s.mon order by s.mon
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?