当前位置: 代码迷 >> Oracle开发 >> 一个优化SQL语句的请问
  详细解决方案

一个优化SQL语句的请问

热度:74   发布时间:2016-04-24 07:41:57.0
一个优化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
  相关解决方案