加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

SQL SERVER一个用来统计相同姓名人数的SQl语句

发布时间:2020-05-23 21:13:44 所属栏目:MsSql 来源:互联网
导读:SQL SERVER一个用来统计相同姓名人数的SQl语句

感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编两巴掌来看看吧!

sql语句查询
表结构是这样:
ID 姓名 性别
1 张三 男
2 王四 男
3 丽丽 女
4 张三 男
5 赵柳 男
6 高洁 男
7 王四 女
8 高洁 女
9 张三 女
怎么能用一条SQL语句查询出如下的结果

姓名 人员个数 男人数 女人数 包含ID
张三 3 2 1 1,4,9
王四 2 1 1 2,7
丽丽 1 0 1 3
高洁 2 1 1 6,8
赵柳 1 1 0 5

代码如下:

 
SELECT * FROM (SELECT DISTINCT Name,Count(ID) as 人員個數,sum(case when Sex='男' then 1 else 0 end) as 男人數,sum(case when Sex='女' then 1 else 0 end) as 女人數 
FROM Test group by Name) A 
OUTER APPLY( 
SELECT 
[包含ID]= STUFF(REPLACE(REPLACE( 
( 
SELECT ID FROM Test N 
WHERE Name = A.Name 
FOR XML AUTO 
),'<N ID="',','),'"/>',''),1,'') 
)N 

【图片暂缺】

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读