MySQL 分组统计有关问题

MySQL 分组统计有关问题

MySQL 分组统计问题

student表

— —————————-

 id name sex school

— —————————-

(’13’, ‘张三’, ‘男’, ‘华南理工大学’);

(’14’, ‘刘清’, ‘女’, ‘广东工业大学’);

(’15’, ‘王八’, ‘男’, ‘中山大学’);

(’16’, ‘aaaa’, ‘女’, ‘华南理工大学’);

(’17’, ‘bbb’, ‘男’, ‘中山大学’);

(’18’, ‘ccc’, ‘男’, ‘广东工业大学’);

(’19’, ‘dd’, ‘女’, ‘中山大学’);

(’20’, ‘eee’, ‘女’, ‘华南理工大学’);

mysql查询语句如何实现按性别分组统计每个学校的人数,显示如下:

  学校 人数

—————

男 学校1

  学校2

  学校3

   

女 学校1

  学校2

  学校3

请高手指点下!谢谢 急。。。。。。。。。。。

SQL code


select sex,school,count(*)
from student
group by sex,school


SQL code
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
MySQL 分组统计有关问题

相关文章:

你感兴趣的文章:

标签云: