我可以在 Oracle View 中进行复杂的汇总或求和吗?

Can I do complex rollups or sums in Oracle View?

在我的工作中,我需要收集在二十分之一英里范围内收集的一些粒度数据,然后将其汇总到十分之一英里范围内。这个任务是用 python 脚本完成的,但我想知道我是否可以用物化视图来完成它。这是数据最简单形式的示例,以及我希望视图的样子。

最简单的形式:

Route Number Beginning Mile Post Ending Mile Post Route Length
001 0 0.02 105.6
001 0.02 0.04 105.6
001 0.04 0.06 105.6
001 0.06 0.08 105.6
001 0.08 0.10 105.6
001 0.10 0.12 105.6
001 0.12 0.14 105.6

这是我希望视图生成的内容:

Route Number Beginning Mile Post Ending Mile Post Route Length
001 0 0.1 528
001 0.1 0.14 211.2

我尝试过使用汇总、求和、MOD、余数,但不确定如何正确使用它们。 我什至不确定这是否可以通过视图实现。

我会接受所有的建议和想法。

您需要的是在创建视图时使用 TRUNC() 函数,例如

CREATE OR REPLACE VIEW v_Route AS
SELECT Route_Number, 
       MIN(TRUNC(Beginning_Mile_Post,1)) AS Beginning_Mile_Post,
       MAX(Ending_Mile_Post) AS Ending_Mile_Post,
       SUM(Route_Length) AS Route_Length
  FROM t
 GROUP BY Route_Number, TRUNC(Beginning_Mile_Post,1) 

Demo