最初の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行ずつに分割するように指示していると思います