在 MSDN 中关于分区功能的信息来自这里,$PARTITION(Transact-SQL)。
我对下面的示例在做什么感到困惑。我的理解是,这条 SQL 语句将迭代表 Production.TransactionHistory 中的所有行,因为对于将映射到同一分区的所有行,$PARTITION.TransactionRangePF1(TransactionDate) 将返回相同的值,即所有的分区号这样的行。因此,例如,分区 1 中的所有行将导致返回结果为一行,因为它们都具有相同的 $PARTITION.TransactionRangePF1(TransactionDate) 值。我的理解正确吗?
USE AdventureWorks ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition,
COUNT(*) AS [COUNT] FROM Production.TransactionHistory
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO