在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的记录所占的百分比。-----------------------------------------------------------------------
最后声明,好长一段时间因转行出国培训,一直未能上来结部分贴,
特向贴中关注的朋友道歉!

解决方案 »

  1.   

    向二楼的朋友说明一声,我没有炫耀的意思,真心求高人相助.
    (这有值得炫耀的地方吗?有这个资本炫耀吗?我感觉没有!!!)
    如果连这样说话也被误会的话,我想可能是社会或互联网毒人太深了.
    因为工作中要处理一些事情,想用以前的技术做一些分析软件,
    发现怎么写这个SQL语句也没写好,所以特向高人请教..
    (因为我对那些处理函数已经忘记得差不多了,一时半会也查不过来)
    请不要误会...谢谢~!
    再次向高人请教...
      

  2.   

    问了一些朋友,他们说大概要写一个SQL语句段,要定义一些变量什么的..
    对这些已经有些模糊了...
    有朋友能写出个详细的出来吗?
    拜谢了~~~
      

  3.   

    try->
    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;
      

  4.   

    我说怎么老写不对W1-W1在[-5,5]之间的..
    原来我一直在用 and w1-w2>=-5 and w1-w2<=5这种写法..
    呵呵..多谢楼上的..
    同学感谢各位关注者..
    此贴在此结贴