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