ここからパーティション関数についてのMSDNでは、$PARTITION(Transact-SQL) .
以下のサンプルが根本的に何をしているのか混乱しています。私の理解では、この SQL ステートメントはテーブル Production.TransactionHistory のすべての行を反復し、同じパーティションにマッピングされるすべての行に対して、$PARTITION.TransactionRangePF1(TransactionDate) は同じ値、つまりすべてのパーティション番号を返します。そのような行。したがって、たとえば、パーティション 1 のすべての行は、$PARTITION.TransactionRangePF1(TransactionDate) の値がすべて同じであるため、結果を返すのに 1 つの行になります。私の理解は正しいですか?
USE AdventureWorks ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition,
COUNT(*) AS [COUNT] FROM Production.TransactionHistory
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO