小编典典

在多列上计算 DISTINCT

all

有没有更好的方法来做这样的查询:

SELECT COUNT(*) 
FROM (SELECT DISTINCT DocumentId, DocumentSessionId
      FROM DocumentOutputItems) AS internalQuery

我需要计算此表中不同项目的数量,但不同的项目超过两列。

我的查询工作正常,但我想知道是否可以仅使用一个查询(不使用子查询)获得最终结果


阅读 60

收藏
2022-04-27

共1个答案

小编典典

如果您正在尝试提高性能,您可以尝试在两列的哈希值或连接值上创建一个持久计算列。

一旦它被持久化,只要该列是确定性的并且您使用的是“健全的”数据库设置,它就可以被索引和/或可以在其上创建统计信息。

我相信计算列的不同计数将等同于您的查询。

2022-04-27