In MSDN über Partition Funktion von hier, $PARTITION(Transact-SQL).Partition -Funktion in SQL Server 2005
Ich bin verwirrt darüber, was das folgende Beispiel zugrunde liegt. Nach meinem Verständnis wird diese SQL-Anweisung alle Zeilen in der Tabelle Production.TransactionHistory durchlaufen, und da für alle Zeilen, die auf dieselbe Partition mappen, $ PARTITION.TransactionRangePF1 (TransactionDate) den gleichen Wert zurückgibt, dh die Partitionsnummer für alle solche Reihen. So führen zum Beispiel alle Zeilen in Partition 1 dazu, dass eine Zeile das Ergebnis zurückgibt, da sie alle denselben Wert von $ PARTITION.TransactionRangePF1 (TransactionDate) haben. Mein Verständnis richtig?
USE AdventureWorks ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition,
COUNT(*) AS [COUNT] FROM Production.TransactionHistory
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO
Ich verstehe das Endergebnis, Mitch. :-) Meine Frage ist, was intern ausgeführt wird, um das Ergebnis zu erhalten. Könnten Sie mir helfen, meinen Beitrag zu überprüfen und zu sehen, ob mein Verständnis korrekt ist? :-) – George2