sql语句查询
表结构是这样:
ID 姓名 性别
1 张三 男
2 王四 男
3 丽丽 女
http://www.gaodaima.com/?p=37575一个用来统计相同姓名人数的SQl语句_sqlserver
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
), "", ""), 1, 1, "")
)N
欢迎大家阅读《一个用来统计相同姓名人数的SQl语句_sqlserver》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~