我以前用过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 子句与分组集一起使用,如下所示:
它应该有效。
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),())