当前位置:  数据库>sqlserver

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

    来源: 互联网  发布时间:2014-09-05

    本文导语:  sql语句查询 表结构是这样: ID 姓名 性别 1 张三 男 2 王四 男 3 丽丽 女 4 张三 男 5 赵柳 男 6 高洁 男 7 王四 女 8 高洁 女 9 张三 女 怎么能用一条SQL语句查询出如下的结果 姓名 人员个数 男人数 女人数 包含ID 张三 3 2 1 1,4,9 ...

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
), '', ''), 1, 1, '')
)N


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • iconv可以用来转换文字编码,有没有可以用来识别编码的?
  • 你们看是不是可以这样理解:在用来进行两个对象的比较时,==操作符用来比较两个对象的引用地址,而equals()用来比较两个对象的值。
  • 现在JAVA主要用来干什么?(内同)
  • java mail能用来干什么?
  • 操作系统 iis7站长之家
  • 哪里有比较好的gif集成工具可以用来做button上的图片?
  • 请问TreeCellRenderer接口主要用来干什么啊?
  • 请问wxWindows 和Qt随用来移植MFC开发的程序比较好?
  • 请问最好用的,用来调试JSP页面的工具是什么?能否介绍一下呀?
  • linux下用来看PPT的专用软件?
  • hummanbirds是什么东西?,怎样用来添加samba用户(solaris下)
  • linux系统服务运行级别主要用来做什么?
  • 有谁知道ant和Xdoclet到底是用来做什么的,怎么用法???
  • 用来还原数据库的sql脚本
  • jbuider中jsp调试,内含tomcat的哪个目录用来放自己的类文件?
  • 刚刚用虚拟机装了ubuntu 可以用来做些什么呢 我想学习C语言
  • 问个问题: together6是用来干什么的?什么地方有下载?谁能详细说说?谢谢!
  • java里的hashcode是用来干嘛的
  • 菜鸟问题:Java可以用来开发驱动程序吗,或者说通讯、接口?或者说是否合适?
  • 小弟我初学XML,请教个问题:docbook是用来做什么的?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3