hEY全部SQL总计和总计
我有一个表显示事务及其状态。如何创建一列,显示总的已完成的交易,拒绝下跌,总计所有的在不同的列
例如我期待这样的事情
Completed 100
Rejected 50
Declined 20
Total 170
在3不同的行..
表字段是这样的。
transaction_id
status_id,
date
transaction_number
hEY全部SQL总计和总计
我有一个表显示事务及其状态。如何创建一列,显示总的已完成的交易,拒绝下跌,总计所有的在不同的列
例如我期待这样的事情
Completed 100
Rejected 50
Declined 20
Total 170
在3不同的行..
表字段是这样的。
transaction_id
status_id,
date
transaction_number
假设你在你需要的输出提的文本状态对应于你的表格中status_id
列,你可以使用类似:
SELECT status_id, count(*)
FROM dbo.YourTable
GROUP BY status_id WITH ROLLUP
这适用于SQL Server 2000和较新的 - 不知道如果其他RDBMS具有完全相同的语法...(不幸的是,你没有提到你使用是什么系统?)
的WITH ROLLUP
会导致额外的配置加入到NULL的status_id
的结果 - 这是所有计数合计的总和。
你没有提到如何“翻译”成status_id
的文字说明 - 如果你提供必要的信息能被添加....
@ Vash:为rollup添加WITH ROLLUP – 2010-10-15 10:36:00
+1;然后;-)。 – 2010-10-15 11:03:22
+1,你可以添加一个COALESCE来包含单词“total”:'SELECT COALESCE(status_id,'Total'),count(*)...' – 2010-10-15 12:32:51
什么SQL RDBMS? – 2010-10-15 10:34:26
查看http://tinyurl.com/so-hints以获得更好的提问 - 在这里SO或一般在任何论坛,在线或离线 – 2010-10-15 10:41:54
对不起MS SQL 2005 – andreas 2010-10-15 10:45:19