如何制定汇总不同值的SQL Server索引视图?
-
02-10-2019 - |
题
我有一个包括以下表(伪模式)的表格的模式:
TABLE ItemCollection {
ItemCollectionId
...etc...
}
TABLE Item {
ItemId,
ItemCollectionId,
ContributorId
}
我需要汇总每个itemCollectionID的不同贡献者的数量。这样的查询是可能的:
SELECT ItemCollectionId, COUNT(DISTINCT ContributorId) FROM Item
GROUP BY ItemCollectionId
我进一步希望使用索引(实体)视图预先计算此聚集。截然不同的是阻止在此视图上放置索引。有什么方法可以重新制定不会违反SQL Server的索引视图约束?
解决方案
显然是不可能的。
其他提示
SELECT
ItemCollectionId,
COUNT(DISTINCT ContributorId),
COUNT_BIG(*) AS DummyColumn
FROM Item
GROUP BY ItemCollectionId
聚合需要count_big(*) 如MSDN中所述.
这也说“没有独特的”,我不确定(对不起,对不起),如果它适用于总(如您所拥有的)或 SELECT DISTINCT...
不隶属于 StackOverflow