标题:请教sql语句
只看楼主
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
 问题点数:0 回复次数:4 
请教sql语句

表:
专业 性别 寄宿
A 男 是
B 女 否
B 女 是

我要这样的结果:
专业 总人数 男生数 男寄宿生 女生数 女寄宿生
A 1 1 1 0 0
B 2 0 0 2 1

这样的SQL语句如何写?

搜索更多相关主题的帖子: 语句 sql 
2006-08-10 17:57
a97191
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-1-18
得分:0 
select 专业,(select count(*) from 表 where 专业=a.专业) as 总人数,(select count(*) from 表 where 专业=a.专业 and 性别='男') as 男生数 from 表 a
剩下都差不多这样
2006-08-11 10:14
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 

帮我写一下完整的吧,谢谢了


26403021 sql群 博客 blog./user15/81152/index.shtml
2006-08-11 16:29
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 

高手指教啊


26403021 sql群 博客 blog./user15/81152/index.shtml
2006-08-11 19:52
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 
select 专业,count(*) as 总人数,
sum(case 性别 when '男' then 1 else 0 end) as 男生数 ,
sum(case 性别 when '女' then 1 else 0 end) as 女生数,
sum(case rtrim(convert(varchar(20),寄宿))+rtrim(convert(varchar(20),性别))
when '是男' then 1 else 0 end) as 男寄宿生,
sum(case rtrim(convert(varchar(20),寄宿))+rtrim(convert(varchar(20),性别))
when '是女' then 1 else 0 end) as 女寄宿生 from student group by 专业
自己回来解答一下

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-03-01 23:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-83273-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051369 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved