oracle – PARTITION BY 1是什么意思?
发布时间:2021-04-02 14:24:27 所属栏目:站长百科 来源:网络整理
导读:对于一对游标,其中在第一个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 B
对于一对游标,其中在第一个FETCH之后立即需要结果集中的总行数(在一些试错之后),我想出了下面的查询 SELECT col_a,col_b,col_c,COUNT(*) OVER( PARTITION BY 1 ) AS rows_in_result FROM myTable JOIN theirTable ON myTable.col_a = theirTable.col_z GROUP BY col_a,col_c ORDER BY col_b 现在,当查询的输出是X行时,rows_in_result会准确地反映这一点. > PARTITION BY 1是什么意思? >我认为它可能告诉数据库将结果分成每行1行 解决方法这是PARTITION BY的一个不寻常的用法.它的作用是将所有内容放在同一个分区中,这样如果查询一共返回123行,那么每行的rows_in_result值将为123(如别名所示).因此它相当于更简洁: COUNT(*) OVER () (编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
未处理完善
-
无相关信息
最新更新