我有包括如下所示的(伪模式)的表的模式:如何制定聚合不同值的SQL Server索引视图?
TABLE ItemCollection {
ItemCollectionId
...etc...
}
TABLE Item {
ItemId,
ItemCollectionId,
ContributorId
}
我需要聚合每ItemCollectionId不同供体的数目。这是可能的,如下所示:
SELECT ItemCollectionId, COUNT(DISTINCT ContributorId) FROM Item
GROUP BY ItemCollectionId
我还想使用索引(物化)视图预先计算此聚合。 DISTINCT可防止在此视图上放置索引。有没有什么方法来重新构建这个不会违反SQL Server的索引视图约束?
没有骰子,只要尝试创建聚簇唯一索引,DISTINCT就会立即杀死它。 – jlew 2010-04-28 19:33:49
@Jeremy Lew:在这种情况下,您将不得不使用触发器维护一张表格,恐怕... – gbn 2010-04-29 04:44:24