我有一个包含如下表的模式(伪模式):
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 约束?
最佳答案
显然不可能。