加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 如何处理select语句的除以0?

发布时间:2021-08-28 03:46:33 所属栏目:大数据 来源: https://www.jb51.cc
导读:我这样做 $query4 = "( SELECT count(*) FROM checklist c JOIN task AS t ON t.id = c.task_id AND t.active=1 WHERE c.placement_id = m.id ) / ( SELECT count(*) FROM task WHERE active = 1 )"; 在PHP中,我坚持使用更大的sql字符串.问题是上面的第二个

我这样做

    $query4 = "(
                 SELECT count(*) 
                 FROM checklist c
                 JOIN task AS t ON t.id = c.task_id AND t.active=1
                 WHERE c.placement_id = m.id
               ) / (
                 SELECT count(*) 
                 FROM task 
                 WHERE active = 1
               )";

在PHP中,我坚持使用更大的sql字符串.问题是上面的第二个选择,可能是0.在它为0的情况下,我希望除法自动为1(就像将整个query4转换为1).

有谁知道如何做到这一点?

谢谢.

解决方法:

在您的情况下,最简单的变化可能是这样的:

$query4 = "(
             SELECT count(*) 
             FROM checklist c
             JOIN task AS t ON t.id = c.placement_id AND t.active=1
             WHERE c.placement_id = m.id
           ) / (
             SELECT (case when count(*) > 0 then count(*) end)
             FROM task 
             WHERE active = 1
           )";

这将用NULL替换0值 – 因此除法将返回NULL而不是错误.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读