gpt4 book ai didi

oracle - PARTITION BY 1 是什么意思?

转载 作者:行者123 更新时间:2023-12-04 10:21:47 24 4
gpt4 key购买 nike

对于在第一次 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_b, col_c
ORDER BY
col_b

现在,当查询的输出是 X 行时,rows_in_result 会准确反射(reflect)这一点。
  • PARTITION BY 1 是什么意思?
  • 我认为它可能会告诉数据库将结果划分为每个
  • 的 1 行片段。

    最佳答案

    这是 PARTITION BY 的不寻常用法。它所做的是将所有内容都放入同一个分区,这样如果查询总共返回 123 行,那么每行上的 rows_in_result 值将为 123(正如其别名所暗示的那样)。

    因此,它等效于更简洁的:

    COUNT(*) OVER ()

    关于oracle - PARTITION BY 1 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3338415/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com