绕指柔. 2022-01-24 22:14 采纳率: 0%
浏览 14

oracle循环计算

计算积分,有日期字段,和扣分字段
每人每年期初分80分,每季度增加5分,总分上限100分
本月期末数=下月期初数
这个循环计算的逻辑没想出来

  • 写回答

2条回答 默认 最新

  • IT阿沈 2022-01-25 09:24
    关注

    这个需要确认两个方向

    1. 数据是滚动数据,不停的计算未来出现的积分变动情况:
      • 直接对数据进行update,其逻辑核心是确认现在是不是季度交汇点,如果是的话,就加分,如果不是,就不加,
      • 要将分值减去扣分的分数,这个时间维度不清楚,不确认需要日扣还是月扣
      • 超过100分按100分算,通过case when处理。
    2. 数据是历史数据,需要计算目前每个人的积分情况:
      • 这种情况其实不需要循环处理的,直接汇总就可以
      • 注意时间跨度问题,初始80分的月份距离目前有多少个季度,然后update分值字段,加上 5 * 季度数
      • 分值字段需要再减去个人记录汇总后的扣分项总和
      • 最后一个case when 套起来,> 100 的直接 then 100
    评论

报告相同问题?

问题事件

  • 创建了问题 1月24日

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题