select day,grade,acct_id,sm-lag(sm,1,0) over(order by day) chayi
from (
select day,grade,acct_id,sum(num_count) sm from test_table);
from (
select day,grade,acct_id,sum(num_count) sm from test_table);
解决方案 »
- 监听程序无法分发客户机连接
- 奇怪的事情,关于dblink在线等,高分相送....求救!!!
- 50分求一个跨数据库挪记录的办法
- 9i下的admin下的几个目录,各自存放什么信息呢?
- 用 imp 把nvh_struct.dmp导入数据库后,怎样查看是否导入成功??
- 修改表结构问题?急!!!!!!!!!!!
- 如何给表加字段在原有字段中间?
- 在ORACEL中如何计算两个时间相差30分钟?
- string_name%type是什么类型
- 急急急!!!Oracle在设置客户端网络连接时,测试显示ORA:12357连接关闭。
- 我用PL/SQL DEVELOP把存储过程导出来了,但我不知道怎样可以把它导到数据库里,如果要拷贝到sql/plus里执行的话,文字太长了,要分很多次
- imp个别的字是乱码
over(order by day) chayi可以得到日增长吗
--这一段代码是计算日增长
SM CHAYI
1 1
2 1
1 -1
1 0
1 0
1 0
10 9
1 -9
2 1
1 -1
1 0
1 0
1 0
1 0
1 0
1 0
2 1
2 0
469 467
157 -312
20040805 1 1
20040805 2 1
20040805 1 -1
20040805 1 0
20040805 1 0
20040805 1 0
20040805 10 9
20040805 1 -9
20040805 2 1
20040805 1 -1
20040805 1 0
20040805 1 0
20040805 1 0
20040805 1 0
20040805 1 0
20040805 1 0
20040805 2 1
20040805 2 0
20040805 469 467
20040805 157 -312
20040805 93 -64
20040805 132 39
20040805 77 -55
select Billing_Month ,
Time_ID ,
Vendor_ID ,
Network_type_ID ,
bureau_id ,
region_id ,
sm,
sm-lag(sm) over(order by Time_ID) chayi
from (
select Billing_Month ,
Time_ID ,
Vendor_ID ,
Network_type_ID ,
a.calling_bureau_id bureau_id ,
a.calling_region_id region_id,
count(1) sm
from f_net_settle a
group by Billing_Month ,
Time_ID ,
Vendor_ID ,
Network_type_ID ,
a.calling_bureau_id ,
a.calling_region_id )
BILLING_MONTH TIME_ID VENDOR_ID NETWORK_TYPE_ID BUREAU_ID REGION_ID SM CHAYI
1 200408 20040805 1 19 126 1
2 200408 20040805 1 20 107 2 1
3 200408 20040805 1 20 184 1 -1
4 200408 20040805 1 21 102 1 0
5 200408 20040805 1 21 211 1 0
6 200408 20040805 1 21 228 1 0
7 200408 20040805 1 21 240 10 9
8 200408 20040805 1 22 96 1 -9
9 200408 20040805 1 22 266 2 1
10 200408 20040805 1 22 268 1 -1
11 200408 20040805 1 22 269 1 0
12 200408 20040805 1 23 84 1 0
13 200408 20040805 1 23 86 1 0
14 200408 20040805 1 23 88 1 0
select Billing_Month ,
Time_ID,
Vendor_ID,
Network_type_ID ,
bureau_id ,
region_id ,
sm,
sm-lag(sm) over(partition by Billing_Month ,
Time_ID,
Vendor_ID,
Network_type_ID ,
bureau_id ,
region_id order by Time_ID) chayi
from (
select Billing_Month ,
Time_ID ,
Vendor_ID ,
Network_type_ID ,
a.calling_bureau_id bureau_id ,
a.calling_region_id region_id,
count(1) sm
from f_net_settle a
group by Billing_Month ,
Time_ID ,
Vendor_ID ,
Network_type_ID ,
a.calling_bureau_id ,
a.calling_region_id );
select B.day ,A.day,(B.sm_b-A.sm_a) as add
(select rownum as id,day,grade,acct_id,sum(num_count) sm_a from test_table) A,
(select rownum-1 as id,day,grade,acct_id,sum(num_count) sm_b from test_table) B,
where (A.id = B.id)
chayi的值为空
没有比较的数据
多一些数据看看另:漏掉了参数
select Billing_Month ,
Time_ID,
Vendor_ID,
Network_type_ID ,
bureau_id ,
region_id ,
sm,
sm-lag(sm,1,0) over(partition by Billing_Month ,
Time_ID,
Vendor_ID,
Network_type_ID ,
bureau_id ,
region_id order by Time_ID) chayi
from (
select Billing_Month ,
Time_ID ,
Vendor_ID ,
Network_type_ID ,
a.calling_bureau_id bureau_id ,
a.calling_region_id region_id,
count(1) sm
from f_net_settle a
group by Billing_Month ,
Time_ID ,
Vendor_ID ,
Network_type_ID ,
a.calling_bureau_id ,
a.calling_region_id );