欢迎来到代码驿站!

MsSql

当前位置:首页 > 数据库 > MsSql

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

时间:2023-01-30 10:34:44|栏目:MsSql|点击:
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 人?T????,
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四个系统表的知识讲解

栏    目:MsSql

下一篇:没有了

本文标题:一个用来统计相同姓名人数的SQl语句

本文地址:http://www.codeinn.net/misctech/224770.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有