Pour une paire de curseurs où le nombre total de lignes dans l'ensemble de résultats est nécessaire immédiatement après la première Fetch, (après quelques essais et erreurs) je suis venu avec la requête ci-dessousQue signifie PARTITION PAR 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
Maintenant, quand la la sortie de la requête est X lignes, rows_in_result reflète cette précision.
- Que signifie PARTITION PAR 1?
- Je pense il indique probablement la base de données de partitionner les résultats en morceaux de 1 rangs chaque
@JeffreyKemp: J'ai vu votre commentaire sur une réponse supprimée. En fait, malheureusement, et à ma grande surprise, il existe des façons différentes d'interpréter cette expression simple. –
@OMGPonies: Votre réponse d'origine (maintenant supprimée) était erronée pour Oracle, mais correcte pour les autres bases de données ... –