对于一对游标,其中在第一个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行