Sql 查询使用rank()需要优化
我想不明确的条款可能会把演出搞砸。我建议您通过包含到partition by子句中来摆脱它,并查看您得到了什么。如果可以,请尝试使用Sql 查询使用rank()需要优化,sql,oracle,Sql,Oracle,我想不明确的条款可能会把演出搞砸。我建议您通过包含到partition by子句中来摆脱它,并查看您得到了什么。如果可以,请尝试使用 select * from ( Select DISTINCT DocManREPORT_View.DOCINPUTDATE, DocManREPORT_View.REACTIVATEDATE, DocManREPORT_View.TRACENO, DocManREPORT_View.CLIENTNAME, DocMa
select * from
(
Select DISTINCT
DocManREPORT_View.DOCINPUTDATE,
DocManREPORT_View.REACTIVATEDATE,
DocManREPORT_View.TRACENO,
DocManREPORT_View.CLIENTNAME,
DocManREPORT_View.DOCUMENTID,DocManREPORT_View.BARCODEID,
DocManREPORT_View.INPUTMODE,
DocManREPORT_View.INPUTSOURCE,PI.start_time,
RANK() OVER (PARTITION BY process_instance_id
ORDER BY last_modified_date desc) rank,
PI.STATUS AS PROCESSSTATUS
FROM DocManREPORT_View
INNER JOIN PROCESS_INSTANCE PI ON
(pi.instance_id = DocManREPORT_View.process_instance_id)
)
where rank = 1;
在视图内部,因为我知道视图中已经有了执行此步骤的所有数据。您确定这是查询,它有两个“WHERE”子句吗?您似乎忘记了(somwhere.我假设之前WHERE RANK=1对于之前不正确的查询,我很抱歉。现在我已经编辑并添加了正确的查询。请您提供您的问题的详细信息,当前的问题是什么?例如,您有1000万行,它运行10分钟,但您需要1分钟。或者类似的内容会使问题更有价值。发生了什么如果删除
独立的?似乎不需要它。视图中没有所有数据。还需要引用其他一些表上次修改的日期是从其他表中删除的?使用WITH子句具体化独立的部分可能会更好吗?
RANK() OVER (PARTITION BY process_instance_id
ORDER BY last_modified_date desc) rank,