加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – PARTITION BY 1是什么意思?

发布时间:2021-04-03 13:50:05 所属栏目:站长百科 来源:网络整理
导读:对付一对游标,个中在第一个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 ()

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读