對於一對光標的第一FETCH後在那裏立即所需的行的在結果的總數,(經過一些嘗試和錯誤)我想出了下面的查詢PARTITION BY 1是什麼意思?
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行的每件
@JeffreyKemp:我看到您對已刪除答案的評論。事實上,不幸的是,令我驚訝的是,有*解釋這個簡單表達的不同方式。 – 2012-12-03 11:48:28
@OMGPonies:您的原始(現已刪除)答案對於Oracle是錯誤的,但對於其他數據庫是正確的... – 2012-12-03 11:49:02