记得提供建表脚本和测试数据:

http://www.itpub.net/thread-1348543-1-1.html

create table t_deposit

(

name varchar2(10),

amount number,

d_date        date

);

with t as (select name, amount, trunc(sysdate-d_date) days from t_deposit)

select name,

sum(d0to30) as d0to30,

sum(d30to90) as d30to90,

sum(d90to120) as d90to120,

sum(d120to0) as d120to0

from

(

select name,

case when days<=30 then amount else 0 end as d0to30,

case when days>30 and days <=90 then amount else 0 end as d30to90,

case when days>90 and days <=120 then amount else 0 end as d90to120,

case when days>120 then amount else 0 end as d120to0

from t

)group by name;

insert into t_deposit (d_date, name, amount)

values (to_date('2011-01-10','YYYY-MM-DD'), 'A', 100);

insert into t_deposit(d_date, name, amount)

values (to_date('2011-02-18','YYYY-MM-DD'), 'A', 200);

insert into t_deposit(d_date, name, amount)

values (to_date('2011-03-18','YYYY-MM-DD'), 'A', 200);

insert into t_deposit(d_date, name, amount)

values (to_date('2011-04-18','YYYY-MM-DD'), 'A', 200);

insert into t_deposit(d_date, name, amount)

values (to_date('2011-04-30','YYYY-MM-DD'), 'A', 280);

with t as (select name, amount, trunc(sysdate-d_date) days from t_deposit)

select name,

sum(d0to30) as d0to30,

sum(d30to90) as d30to90,

sum(d90to120) as d90to120,

sum(d120to0) as d120to0

from

(

select name,

case when days<=30 then amount else 0 end as d0to30,

case when days>30 and days <=90 then amount else 0 end as d30to90,

case when days>90 and days <=120 then amount else 0 end as d90to120,

case when days>120 then amount else 0 end as d120to0

from t

)group by name;

[本帖最后由 guostong 于 2011-7-15 05:25 编辑]

oracle先进先出法,怎样能过SQL计算先进先出库龄分析?相关推荐

  1. 库龄分析-先进先出法

    先过先出法在很多的企业都非常试用,而基于企业的管理能力与实际业务数据中的不完整性,会造成实际物料的出入库情况是无序的.而管理者需要看到一定期间的物料库龄,特别是对于A,B类物料的关注情况.这样就需要I ...

  2. 用友U8物料最后一次出入库日期及计算实际库龄

    --物料采购期初入库日期 ALTER VIEW V_Quick_PoQc WITH ENCRYPTION AS SELECT Temp.cInvCode,        Temp.cWhCode,   ...

  3. oracle 求一年多少天,SQL 计算一年有多少天

    SQL 计算一年有多少天,计算当前年份有多少天. SQL 计算一年有多少天 问题描述 计算当前年份有多少天. SQL 计算一年有多少天 解决方案 计算当前年份有多少天,等同于计算下一年的第一天和当前年 ...

  4. 使用SQL 计算一组数据的峰度、偏度 公式依据excel的KURT函数和SKEW函数 Oracle 数据库

    使用SQL 计算一组数据的峰度.偏度 公式依据excel的KURT函数和SKEW函数 因为工作原因,要把excel的KURT和SKEW函数在Oracle实现出来并统计,在网上找了半天没有答案..只能自 ...

  5. SQL 先进先出的库龄计算

    题库信息参考:https://bbs.csdn.net/topics/60035400 库存信息: 现有一表记录产品进出库 product_id(产品代码)  inoutdate(出入库日期)     ...

  6. oracle中怎么用累计,oracle实现累加,累计百分比计算

    最近做数据分析,需要用到累加功能,发现强大的oracle还真有,用over(order by field) 例子: 数据表中最后一列就是累加的效果 累加sql: select t.acc_pedal_ ...

  7. Oracle数据库使用Analyze提升sql性能

    Oracle数据库使用Analyze提升sql性能 如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会.假设你创建了一张拥有100万条记录的临 ...

  8. oracle执行脚本顺序执行吗,【ORACLE】记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 - 不及格的飞鱼...

    记录通过执行Oracle的执行计划查询SQL脚本中的效率问题 问题现象: STARiBOSS5.8.1R2版本中,河北对帐JOB执行时,无法生成发票对帐文件. 首先,Quartz表达式培植的启动时间为 ...

  9. sql计算留存_SQL无所不能:DBA宝妈宝爸系列分享

    原文链接:https://www.modb.pro/db/22315 目前程序从功能上其实已经完全满足客户(当然我这里的客户都是指媳妇儿)需求,具体可参考: 使用SQL计算宝宝每次吃奶的时间间隔 - ...

最新文章

  1. Mocha NTA基于单采集器实现的多种流协议分析
  2. Verilog 中的移位(算术移位, 逻辑移位, 循环移位)
  3. Docker网络解决方案 - Calico部署记录
  4. Safari调试iOS应用
  5. Kafka设计解析(四):Kafka Consumer解析--转
  6. Linux下网络流量实时监控工具大全
  7. 资源集 - 收藏集 - 掘金
  8. drawitem设置指定行的背景颜色_Java 为 Excel 中的行设置交替背景色
  9. canvas笔记-lineJoin和miterLimit的使用
  10. WCF服务编程设计规范(9):中文、中英文对照、英文版资料共享下载
  11. hibernate 根据用户名获取用户对象_Mybatis 和 Hibernate 持久层框架之间的区别是啥?...
  12. mac安装ElasticSearch
  13. MySQL数据库企业级应用实践(主从复制)
  14. 袁玉玮:简介人工智能在基金界的应用现状(四)
  15. 用计算机表白教程,抖音短视频vbs表白代码使用教程
  16. JS小图切换大图轮播代码
  17. 詹森不等式的积分形式
  18. golang接口与反射剖析
  19. E4A易安卓Apost提交文本合并编码相关
  20. 【渝粤题库】广东开放大学 标准化专业英语 形成性考核

热门文章

  1. 三维空间刚体运动4-4:四元数多点连续解析解插值方法:Spicv
  2. R循环有两个_循环子群
  3. 8 reasons why SPIR-V makes a big difference
  4. 关于一道面试题,使用C#实现字符串反转算法
  5. Python headers not found错误解决办法
  6. 计算机中的数学【线性代数】向量空间的概念
  7. 如何用java实现使用电子邮件控制你的电脑
  8. C语言及程序设计提高例程-21 首尝排序——冒个泡
  9. C语言版回字四种写法的一个例子——数组下标访问
  10. 性能报告——使用AOP与DYNAMICProxy的orm性能测试