oracle 让表中男女数目相减

一个学生表。要查询男生比女生多多少人。。
写个语句实现。。怎么写啊?

解:
SELECT 男生,女生,男生-女生
FROM (SELECT (SELECT COUNT(0) FROM STUDENT_TABLE WHERE SEX = '男') "男生",
(SELECT COUNT(0) FROM STUDENT_TABLE WHERE SEX = '女') "女生"

FROM DUAL)追问

刚才那个已经OK !
那用语句查询 男生在所有人中的比例 和男生:女生的比例
怎么写啊?
在线等啊。。等下追分。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-28
select (select count(a.sex) from table a where a.sex=1)-
(select count(b.sex) from table b where b.sex=2) from dual追问

哥们儿。。还是没对啊。。哭了

追答

我测试的是对的

第2个回答  2011-12-28
select count(*) from 表 where 性别='男'
minus
select count(*) from 表 where 性别='女'
第3个回答  2011-12-28
select count(decode(性别字段,'男',1,0))-count(decode(性别字段,'女',1,0)) xxx from table_name追问

哥们这个不对啊?
分别执行 select count(decode(性别字段,'男',1,0)) 结果=男女总数
再执行 select count(decode(性别字段,'女',1,0)) 结果还是= 男女总数
所以执行结果 = 0
没对啊

追答

不好意思,写错了
吧count()给成 sum()

追问

刚才那个已经OK !
那用语句查询 男生在所有人中的比例 和男生:女生的比例
怎么写啊?
在线等啊。。等下追分。

相似回答