求一个Oracle 10g下的SQL语句,有点难度.请高手进~![同时向朋友们道歉~!]
在Oracle 10g下,求一个SQL语句,以实现如下的数据统计。如下:
表名:MC09
基本字段:
G-TIM:时间值字段,如”25-七月-2008 11:45:09 AM”
W-1 :整型,如 1120
W-2 :整型,如 1123
C_TYPE :字符型,如 “02012300A1”
C_REJE :字符型,如 “01”
SQL语句统计的条件如下:
1.字段G-TIM的时间为 2008-07-20 11:30:00至2008-07-20 21:30:00
2.W1减W2的值在[-5,5]的范围内
3.C_TYPE字段的第二个字符等于 ‘2’
4.C_REJE字段的值等于 ‘01’
统计目标:
求:在符合条件1、3、4的记录中,符合条件1、2、3、4的记录所占的百分比。
-----------------------------------
最后声明,好长一段时间因转行出国培训,一直未能上来结部分贴,
特向贴中关注的朋友道歉!
------解决方案--------------------取数据库板块吧问吧,那里高手多
------解决方案--------------------
try->
SQL code
declare
v_count1 number;--符合条件1、3、4的记录数
v_count2 number;--符合条件1、2、3、4的记录数
begin
select count(*) into :v_count1 from MC09 where G-TIM between '2008-07-20 11:30:00' and '2008-07-20 21:30:00' and (W1-W2) between -5 and 5 and substring(C_TYPE,2,1)='2' and C_REJE='01';
select count(*) into :v_count2 from MC09 where G-TIM between '2008-07-20 11:30:00' and '2008-07-20 21:30:00' and substring(C_TYPE,2,1)='2' and C_REJE='01';
select (v_count1/v_count2)*100+'%' from dual;
end;