天天看点

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等)统计数据。