怎么计算截止日期之前的本月的某一率值呢?

就比如,现在有一个表tmp(A,B,C,D),A:统计日期,具体到日。B,C为数值类型,D为地区。加了一个

日期控件,希望实现的是各个地区的(B/C)的值,统计方式为,截止到统计日期的这个月的每一天的(B/C)的值相加 除以 截止到统计日期的这个月的天数,求解这个问题应该怎么实现

FineBI 001平凡 发布于 2020-9-21 21:03
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
3
yiyemeiyingLv4高级互助
发布于2020-9-21 22:11
-- 这个sql注释够清晰了吧-_-||
-- mysql为例
-- A字段类型:yyyy-MM-dd

select 

 D
 
,A

,B

,C

,sum(C) over (PARTITION by D,substring(A,7) order by A asc ) as SUM_C -- 某月逐层累计C

,sum(B) over (PARTITION by D,substring(A,7) order by A asc ) as SUM_B -- 某月逐层累计B

,sum(B)/sum(C) over (PARTITION by D,substring(A,7) order by A asc ) as AVG_result  -- 这个结果(某月逐层平均值)

from tmp 

where substring(A,7) = "2020-06"  -- 限制(某月)2020年6月份数据


最佳回答
0
LarryAbbyLv5中级互助
发布于2020-9-21 21:32

select d,sum_qty/to_number(to_char(TO_DATE('${参数}','yyyy-mm-dd'),'dd'))

from(

SELECT  D,SUM(B/C) sum_qty

FROM TMP

WHERE tmp.A>=TRUNC(TO_DATE('${参数}','yyyy-mm-dd'),'mm')

and       tmp.A<= TO_DATE('${参数}','yyyy-mm-dd')

group by D)

  • 3关注人数
  • 339浏览人数
  • 最后回答于:2020-9-21 22:11
    请选择关闭问题的原因
    确定 取消
    返回顶部