日期:2014-05-16 浏览次数:20666 次
select sex,school,count(*) from student group by sex,school
------解决方案--------------------
if object_id('tb') is not null drop table tb go create table tb(id int,name varchar(10), sex varchar(10),school varchar(20)) -- ---------------------------- insert tb values('13', '张三', '男', '华南理工大学'); insert tb values('14', '刘清', '女', '广东工业大学'); insert tb values('15', '王八', '男', '中山大学'); insert tb values('16', 'aaaa', '女', '华南理工大学'); insert tb values('17', 'bbb', '男', '中山大学'); insert tb values('18', 'ccc', '男', '广东工业大学'); insert tb values('19', 'dd', '女', '中山大学'); insert tb values('20', 'eee', '女', '华南理工大学'); go select sex 性别,school 学校,count(*) 人数 from tb group by sex,school order by sex /* 性别 学校 人数 ---------- -------------------- ----------- 男 广东工业大学 1 男 华南理工大学 1 男 中山大学 2 女 广东工业大学 1 女 华南理工大学 2 女 中山大学 1 (6 行受影响) */
------解决方案--------------------
select sex as 性别,school 学校,count(*) 人数
from tb
group by sex,school
order by sex
or
select school as 学校,sum(if(sex='男',1,0)) as 男人数,
sum(if(sex='女',1,0)) as 女人数
from tb
group by school