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

一个优化SQL语句的请问

2012-03-07 
一个优化SQL语句的请教在一个student表中,有sno学号,sname姓名,ssex性别,sdept专业。使用select count(*) a

一个优化SQL语句的请教
在一个student表中,有sno学号,sname姓名,ssex性别,sdept专业。
使用select count(*) aa, ssex from student group by ssex后得出一下结果
  aa ssex
--------------
  1 男
  3 女
要把行列颠倒一下,更符合表格输出的格式,可以使用以下语句。
select s1.aa as 男, s2.aa as 女
from (
select count(*) aa, ssex from student group by ssex
) s1,
(
select count(*) aa, ssex from student group by ssex
) s2
where s1.ssex = '男' and s2.ssex = '女'
  男 女
--------------
  1 3

不过应该有方法可以写出更漂亮的SQL,请教大家一下啦。



[解决办法]
你这个效率不行啊
select sum(decode(ssex,'男',1,0)) 男,
sum(decode(ssex,'女',1,0)) 女
from student

热点排行
Bad Request.