SQL SERVER一个用来统计相同姓名人数的SQl语句
2022-11-12 09:54:28
内容摘要
这篇文章主要为大家详细介绍了SQL SERVER一个用来统计相同姓名人数的SQl语句,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!sql语句查询
文章正文
这篇文章主要为大家详细介绍了SQL SERVER一个用来统计相同姓名人数的SQl语句,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
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代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <code> 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, 1, '' ) )N </code> |
注:关于SQL SERVER一个用来统计相同姓名人数的SQl语句的内容就先介绍到这里,更多相关文章的可以留意
代码注释