sql - 如何制定聚合不同值的 SQL Server 索引 View ?

标签 sql sql-server tsql aggregate indexed-view

我有一个包含如下表格的架构(伪架构):

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 约束的情况下重新制定此规则?

最佳答案

显然不可能。

关于sql - 如何制定聚合不同值的 SQL Server 索引 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2732231/

相关文章:

c# - C# winform如何检查SQL Server数据库中是否存在一条记录?

SQL Server : How to execute UPDATE from within recursive function?

使用 Union 进行 SQL 插入应仅添加不同的值

java - 一个很好的 Android 上的 Java ORM 库

c# - 从数据库获取值时 DBNULL.Value 始终返回 True

sql - 总是在 SQL 中显示小数位?

Sql:如何将多行组合成一个字符串作为更新中的表达式

sql - 如何找到最近的日期?

sql - 在 INNER JOIN 条件下有一个 'OR' 是个坏主意吗?

mysql - 如何使用 Union 组合这两个查询?