记录工作、生活中的点点滴滴......

Oracle分析函数

上一篇 / 下一篇  2006-09-05 00:00:00 / 个人分类:Oracle

oracle的分析函数功能很强,略举一例,需求如下:

有表t1:

......................

ywbh char(16),-- 业务编号

bh char(10),-- 编号

clrq char(8),-- 处理日期

........................

有两类业务:增加业务和减少业务,业务编号分别以ZJ和JS开头,clrq用于记录业务处理日期(增加、减少)。如何获取同一编号bh的最大增加日期和最大减少日期?


使用max:

select
distinct bh,
max(case when substr(ywbh,1,2) ='ZY' THEN clrq else null end) over(partition by bh) zjrq_max,
max(case when substr(ywbh,1,2) ='JY' THEN clrq else null end) over(partition by bh) jsrq_max
from t1;


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-20  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 8288
  • 日志数: 804
  • 建立时间: 2007-12-28
  • 更新时间: 2008-07-16

RSS订阅

Open Toolbar