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

代码如下:

 
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 
【图片暂缺】

注:关于SQL SERVER一个用来统计相同姓名人数的SQl语句的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!