首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

MySQL 分组统计有关问题

2012-05-16 
MySQL 分组统计问题student表-- ----------------------------idnamesexschool-- -----------------------

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 studentgroup by sex,school
[解决办法]
SQL code
if object_id('tb') is not null drop table tbgocreate 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', '女', '华南理工大学'); goselect sex 性别,school 学校,count(*) 人数from tbgroup by sex,schoolorder 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

热点排行