SQL 存储过程 - 可以使用 where 子句对集合进行分组吗?

SQL Stored procedure - Grouping Sets with a where clause possible?

我以前用 Grouping Sets 来总结列中的所有内容以获得 总计

但是,我还没有找到一种方法来总结包含 WHERE CLAUSE 的列,我想知道是否真的有一种方法可以使用 Grouping Sets?

更新

这是一个基本查询的示例: 我希望能够总结 Deleted = 0 中的所有内容。因为我不希望已删除的交易 包含在总计 中。但我仍然希望删除的交易显示在结果中。

SELECT 
  TP.CompanyID, 
  TP.CompanyName, 
  TP.PaidStatus,'
  TP.Credit,
  TP.Debit,
  TP.Outstanding,
  TP.Deleted                           

FROM    
  dbo.Posting TP

GROUP BY
GROUPING SETS(( 
   CompanyID,
   CompanyName,
   PaidStatus,
   Credit,
   Debit,
   OutStanding,
   Deleted),())

您可以将 Where 子句与 GROUPING SETS 一起使用,如下所示:

应该可以。

SELECT 
  TP.CompanyID, 
  TP.CompanyName, 
  TP.PaidStatus,'
  TP.Credit,
  TP.Debit,
  TP.Outstanding,
  TP.Deleted                           

FROM    
  dbo.Posting TP
WHERE TP.Deleted = 0
GROUP BY
GROUPING SETS(( 
   CompanyID,
   CompanyName,
   PaidStatus,
   Credit,
   Debit,
   OutStanding,
   Deleted),())