当前位置:   article > 正文

oracle中的over(partition by )的用法总结_oracle over partition by用法

oracle over partition by用法
  1. with tab as
  2. (
  3. select t.link_pid,
  4. t.mesh,
  5. round(x, 8) x,
  6. round(y, 8) y,
  7. round(z, 8) z,
  8. id
  9. from had_link t, table(sdo_util.getvertices(t.geometry)) g
  10. ),
  11. tab1 as
  12. (select t.link_pid,
  13. t.mesh,
  14. t.x,
  15. t.y,
  16. t.z,
  17. t.id,
  18. count(*) over(partition by t.link_pid, t.x, t.y, t.z) num,
  19. row_number() over(partition by t.link_pid, t.x, t.y, t.z order by t.id) sq
  20. from tab t

在这个代码中,count(*) over (partition by t.link_pid,t.x,t.y,t.z) num的意思是以t.link_pid, t.x, t.y, t.z这4个字段进行分组,统计分组后这四个字段相同的个数。类似还有count(*) over(order by ……)、sum(amount) over(partition by ……)等,

而在row_number() over...中,记录的是以t.link_pid, t.x, t.y, t.z分组后每条数据显示的行号,以t.id进行排序。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/241017
推荐阅读
相关标签
  

闽ICP备14008679号