对于一对光标的第一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