我是靠谱客的博主 缓慢山水,最近开发中收集的这篇文章主要介绍一个用来统计相同姓名人数的SQl语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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语句的全部内容,希望文章能够帮你解决一个用来统计相同姓名人数的SQl语句所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(141)

评论列表共有 0 条评论

立即
投稿
返回
顶部