如果MYSQL表数据中含有0,则合为0,需要怎么实现

如果MYSQL 表数据中含有0,则合为0,

select  ruler   from 表 where class='1',

现在需要查询ruler的总和,select  sum(ruler)   from 表 where class='1',

但如果 这些数据中有一个ruler等于0,则希望 sum(ruler)等于0,这样就能判断是不是有的ruler数据没有录入

image.png

张三学帆软 发布于 2022-3-16 17:26 (编辑于 2022-3-16 17:27)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
xueyaoLv6见习互助
发布于2022-3-16 17:36

SELECT CASE WHEN (SELECT COUNT(*) AS N FROM `表` WHERE RULER = 0 AND CLASS = 1) > 0 THEN 0 ELSE SUM(RULER) END AS RULER FROM `表` WHERE CLASS = 1

  • 张三学帆软 张三学帆软(提问者) 哦~~,查询ruler=0的个数,然后判断是否大于1是吧
    2022-03-16 17:44 
  • 张三学帆软 张三学帆软(提问者) 如果ruler是 null呢,用<1也可以吧,因为ruler只要有数据,必定大于1的
    2022-03-16 17:45 
  • xueyao xueyao 回复 张三学帆软(提问者) 判断ruler=0的个数大于0,如果有null就改成ruler=0 or ruler is null
    2022-03-16 17:54 
  • 2关注人数
  • 328浏览人数
  • 最后回答于:2022-3-16 17:36
    请选择关闭问题的原因
    确定 取消
    返回顶部