我有一个包含如下表的模式(伪模式):

TABLE ItemCollection {
   ItemCollectionId
   ...etc...
}

TABLE Item {
   ItemId,
   ItemCollectionId,
   ContributorId

}

我需要汇总每个ItemCollectionId的不同贡献者的数量。通过以下查询可以实现:
SELECT ItemCollectionId, COUNT(DISTINCT ContributorId) FROM Item
 GROUP BY ItemCollectionId

我还想使用索引(物化) View 来预先计算此聚合。 DISTINCT防止在此 View 上放置索引。有什么方法可以重新构造它,而不违反SQL Server的索引 View 约束?

最佳答案

显然不可能。

10-08 07:22