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

2022-05-24 0 347

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

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 MsSql 一个用来统计相同姓名人数的SQl语句 https://www.niceym.com/60108.html