SQL TOTAL和GRAND TOTAL

时间:2010-10-15 10:30:33

标签: sql sql-server sql-server-2005

全部

我有一张表格,显示交易及其状态。如何创建一个列,显示已完成,拒绝,拒绝的事务总数以及不同列上所有事务的总计

例如我看起来像这样

Completed 100
Rejected 50
Declined 20
Total        170

在3个不同的行中..

表格字段是这样的。

transaction_id
status_id,
date
transaction_number

1 个答案:

答案 0 :(得分:3)

假设您在所需输出中提到的文字状态与表格中的status_id列相对应,您可以使用以下内容:

SELECT status_id, count(*)
FROM dbo.YourTable
GROUP BY status_id WITH ROLLUP

这适用于SQL Server 2000及更新版本 - 不确定其他RDBMS是否具有完全相同的语法...(不幸的是,您没有提及您正在使用的系统 ...)

WITH ROLLUP将导致额外的行添加到status_id为NULL的结果中 - 这是所有计数总数的合计。

您没有提及如何将status_id“翻译”为文字说明 - 如果您提供必要的信息,可以添加......