oracle – PARTITION BY 1是什么意思?

oracle – PARTITION BY 1是什么意思?,第1张

概述对于一对游标,其中在第一个FETCH之后立即需要结果集中的总行数(在一些试错之后),我想出了下面的查询 SELECT col_a, col_b, col_c, COUNT(*) OVER( PARTITION BY 1 ) AS rows_in_resultFROM myTable JOIN theirTable ON myTable.col_a = theirTable.col_ 对于一对游标,其中在第一个FETCH之后立即需要结果集中的总行数(在一些试错之后),我想出了下面的查询

SELECT col_a,col_b,col_c,COUNT(*) OVER( PARTITION BY 1 ) AS rows_in_resultFROM  mytable JOIN theirtable ON mytable.col_a = theirtable.col_zGROUP BY col_a,col_cORDER BY  col_b

现在,当查询的输出是X行时,rows_in_result会准确地反映这一点.

> PARTITION BY 1是什么意思?

>我认为它可能告诉数据库将结果分成每行1行

解决方法 这是PARTITION BY的一个不寻常的用法.它的作用是将所有内容放在同一个分区中,这样如果查询一共返回123行,那么每行的rows_in_result值将为123(如别名所示).

因此它相当于更简洁:

COUNT(*) OVER ()
总结

以上是内存溢出为你收集整理的oracle – PARTITION BY 1是什么意思?全部内容,希望文章能够帮你解决oracle – PARTITION BY 1是什么意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存