linetech 发表于 2008-03-13 15:36

这样的sql怎么写!求两个sql的比!

select count from 端口 where related_dev_uuid="AA"

select count from 端口 where related_dev_uuid="AA" and port_status="占用"


怎么写一个sql能求出来这两个值比。谢谢!

ahqkxfer 发表于 2008-03-13 15:40

你把字段不是"占用“的值得到不就可以了吗?
select * from 表 where 字段 <>"占用"

linetech 发表于 2008-03-13 15:46

我是想用占用的除以全部的结果。

linetech 发表于 2008-03-13 15:51

select count from 端口 where related_dev_uuid="AA"/select count from 端口 where related_dev_uuid="AA" and port_status="占用"   的结果

xjfirst 发表于 2008-03-13 18:26

select count / (select count from 端口 where related_dev_uuid= A.related_dev_uuid)from 端口 A where related_dev_uuid="AA" and port_status="占用"

ivhb 发表于 2008-03-13 19:17

原帖由 linetech 于 2008-3-13 15:36 发表 http://bbs.chinaunix.net/images/common/back.gif
select count from 端口 where related_dev_uuid="AA"

select count from 端口 where related_dev_uuid="AA" and port_status="占用"


怎么写一个sql能求出来这两个值比。谢谢!

select
   sum (
      case whenrelated_dev_uuid="AA" and port_status="占用" then 1 else 0 end
    ) / sum (
      case when where related_dev_uuid="AA"then 1 else 0 end
    )
from 端口
;

ivhb 发表于 2008-03-13 19:18

当然,你需要考虑分母是0的情况。
所以更加复杂的写法。。。。
稍微的扩展一下,就可以得到。你不妨一试。

linetech 发表于 2008-03-14 22:05

非常感谢,我明天试试。

kenshin0506 发表于 2008-03-14 23:25

原帖由 ivhb 于 2008-3-13 19:17 发表 http://bbs.chinaunix.net/images/common/back.gif


select
   sum (
      case whenrelated_dev_uuid="AA" and port_status="占用" then 1 else 0 end
    ) / sum (
      case when where related_dev_uuid="AA"then 1 else 0 end
    )
from...

decode 一下比这个容易~~

linetech 发表于 2008-03-17 10:27

楼上的能说的具体些吗?谢谢!
页: [1] 2
查看完整版本: 这样的sql怎么写!求两个sql的比!