oracle 判断一行数据中多列的值是否呈递增趋势(或者递减趋势)

-- 1 近6个月的精确率呈递增趋势	

    with temp as
    (
    select jzd_month2-jzd_month1 d from masakr.tb_kr_hv_23118_mon2 t where t.statis_month = vv_month
    union 
    select jzd_month3-jzd_month2 d from masakr.tb_kr_hv_23118_mon2 t where t.statis_month = vv_month
    union 
    select jzd_month4-jzd_month3 d from masakr.tb_kr_hv_23118_mon2 t where t.statis_month = vv_month
    union 
    select jzd_month5-jzd_month4 d from masakr.tb_kr_hv_23118_mon2 t where t.statis_month = vv_month
    union 
    select jzd_month6-jzd_month5 d from masakr.tb_kr_hv_23118_mon2 t where t.statis_month = vv_month
    )
    select (case when min(d)>0 then 1 else 0 end) into vi_value1 from temp
    ;


上面是我遇到的一个要在程序中实现的一个稽核功能 --判断是否近6个月的精确率呈递增趋势(有关业务的东西就不解释了,思路就那意思)select * from masakr.tb_kr_hv_23118_mon2 t where t.statis_month = vv_month 把vv_month改为某月 如201402 只会得到一条数据。

该sql语句中  如果变量vi_value1结果为1则判断的结果是趋势是增长的

这是我自己想出来的方法,程序运行多次,判断没有问题。

你可能感兴趣的:(oracle)