我有以下查询,该查询应该首先查看此列(MAX_TEST)以查看是否有分数,如果它没有分数则返回最新分数,然后查看此列( MAX__SCORE),在拿到最新分数后,我需要将其别名为(PSI分数)。第二个输出显示返回PSI得分 - 并且别名为PSI XMation。到目前为止,我能够获得PSI分数以返回值,但PSI Xmation无法正常工作,我收到一条错误消息,指出from关键字不在其应有的位置。最后一个问题是我得到的是多行而不是一行。
SELECT P_PI_NUM,
COALESCE(MAX_SCORE) AS PS
答案 0 :(得分:0)
以下是获得每个父ID(标准SQL)最新得分的一种方法:
select
parent_pi_number,
psi_score,
(psi_score - 39.035024) / 8.439997 as psi_xmation
from
(
select
parent_pi_number,
coalesce(gco_ad_knowledge_test_score, psi_overall_score) as psi_score,
row_number() over (partition by parent_pi_number
order by request_last_modified_dt desc) as rn
from wc_application_event_f
where pi_candidate_num = 69130
)
where rn = 1
order by parent_pi_number;
这是另一个(仅限Oracle):
select
parent_pi_number,
max(coalesce(gco_ad_knowledge_test_score, psi_overall_score))
keep (dense_rank last order by request_last_modified_dt)
as psi_score,
(max(coalesce(gco_ad_knowledge_test_score, psi_overall_score))
keep (dense_rank last order by request_last_modified_dt) - 39.035024) / 8.439997
as psi_xmation
from wc_application_event_f
where pi_candidate_num = 69130
group by parent_pi_number
order by parent_pi_number;
(我希望我的括号正确。)