对于一对游标,在第一次 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 准确地反映了这一点。
- PARTITION BY 1 是什么意思?
- 我认为它可能会告诉数据库将结果划分为每个 1 行的片段