Dans MSDN sur la fonction de partition à partir d'ici, $PARTITION(Transact-SQL).fonction de partition dans SQL Server 2005
Je suis confus au sujet de ce que fait l'échantillon ci-dessous. Ma compréhension est, cette instruction SQL va itérer toutes les lignes dans la table Production.TransactionHistory, et puisque pour toutes les lignes qui seront mappées à la même partition, $ PARTITION.TransactionRangePF1 (TransactionDate) retournera la même valeur, c'est à dire le numéro de partition pour tous ces rangées. Ainsi, par exemple, toutes les lignes de la partition 1 se traduiront par une ligne dans le résultat renvoyé car elles ont toutes la même valeur que $ PARTITION.TransactionRangePF1 (TransactionDate). Ma compréhension est-elle correcte?
USE AdventureWorks ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition,
COUNT(*) AS [COUNT] FROM Production.TransactionHistory
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO
Je comprends le résultat final, Mitch. :-) Ma question concerne ce qui est exécuté en interne pour obtenir le résultat. Pourriez-vous m'aider à revoir mon message et à voir si ma compréhension est correcte? :-) – George2