我有一个查询,它给了我所有记录。现在我想检查所有记录中这三个条件之间有多少记录
我总共得到6列。通过减去Credit Dist dt - App Received dt
列,我得到working days1
,减去LO Issued - appr_dec
我得到working days2
。在确定哪些记录处于哪种条件之后,我必须在每个条件中统计所有应用程序,并将应用程序的计数除以working day1
和working day2
。如何确定哪个应用程序处于哪种状态并继续进行?
查询很长,所以我尝试将虚拟查询放在一个想法上。
select LOSA_APP.app_ref_no AS "App.Ref.No.",
LOSA_EXP_SUMM_Z.group_exp AS "Group Exposure Amount",
column AS "App Received dt",
column AS "Credit Dist dt",
column AS "appr_dec",
column AS "LO Issued"
from
losa_app LOSA_APP
INNER JOIN
code_branch CODE_BRANCH
ON
LOSA_APP.attend_branch = CODE_BRANCH.branch_id
.... -- more joins
where
LOSA_APP.app_status in ('A','R')
and
..... --other conditions
对于条件,我必须检查LOSA_EXP_SUMM_Z.group_exp
,LOSA_EXP_SUMM_Z.group_exp <= 250,000
,LOSA_EXP_SUMM_Z.group_exp between 250,000 and 500,000
,LOSA_EXP_SUMM_Z.group_exp >= 500,000
由于
答案 0 :(得分:0)
您可能需要按该列/条件对输出进行分区,例如:第1组 - 小于等于250,000,第2组...,第3组......然后您可以在组内订购。尝试使用RANK和其他分析函数。
选择*来自 ( 选择empno,deptno,sal ,RANK()OVER(由sal执行deptno命令)rnk 来自scott.emp ) /