日期:2014-05-17  浏览次数:20778 次

请教一SQL写法
student 表有如下字段
学号,系别,性别,分数

s01 science man 89


查student 表以如下结构输出数据
系别,男生人数,女生人数,总人数

------解决方案--------------------
haha 
SQL code
select 性别, sum(decode(性别,'男',1,0)) 男生人数,sum(decode(性别,'女',1,0)) 女生人数,count(*) 总人数 from student group by 性别

------解决方案--------------------
错了个字是系别非性别
SQL code
SQL> select * from student;

学号       系别       性别             分数
---------- ---------- ---------- ----------
s01        science    男                 90
s02        science    女                 68
s03        computer   男                 87
s04        computer   女                 86
s05        science    男                 59

SQL> 
SQL> select 系别,
  2         sum(decode(性别, '男', 1, 0)) 男生人数,
  3         sum(decode(性别, '女', 1, 0)) 女生人数,
  4         count(*) 总人数
  5    from student
  6   group by 系别
  7  ;

系别         男生人数   女生人数     总人数
---------- ---------- ---------- ----------
computer            1          1          2
science             2          1          3