天天看點

MS SQL 合并結果集并求和

業務情景:有這樣一張表:其中id列為表主鍵,name為使用者名,state為記錄的狀态值,note為狀态的說明,友善閱讀。

MS SQL 合并結果集并求和

需求描述:需要查詢出這樣的結果:某個人某種狀态的記錄數,如:張三,待稽核記錄數,稽核中記錄數,稽核通過記錄數;大概像這樣:

MS SQL 合并結果集并求和

解決方案:

1.建表和初始化測試資料: 

2.查詢語句:

這裡用到兩個知識點:

1.union 操作符用于合并兩個或多個 select 語句的結果集。請注意,union 内部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料類型。同時,每條 select 語句中的列的順序必須相同。

2.group by + 聚合函數(如sum, count, max, avg等)統計資料。