【问题标题】:How to get the count value of zero with a same table in mysql?如何在mysql中使用同一张表获取零的计数值?
【发布时间】:2014-03-14 18:00:21
【问题描述】:

这是MySql这句话

select if(b.opcionselec='Y','Yes','No') as opt, count(b.idPregunta) as val
from respuestabuleanas as b where b.idPregunta='1' group by (b.opcionselec);

查询结果

 opt           val
 No             1

我想得到什么

 opt           val
 No             1
 Yes            0

有什么方法可以实现吗?

【问题讨论】:

    标签: mysql select count union


    【解决方案1】:
    select if(b.opcionselec='Y','Yes','No') as opt, count(b.idPregunta) as val
    from respuestabuleanas as b 
    
    LEFT JOIN respuestabuleanas as b1 ON b1.idPregunta='1' group by (b.opcionselec);
    

    【讨论】:

    • 但是这个语句返回的结果和上面一样。表中只存储一个值,另一个必须分配零,但我不知道如何?
    • 啊...好吧我明白了
    • 我试过这个select opt, count(b.idPregunta) as val from (Select 'Yes' as opt union select'No')as dbl, respuestabuleanas as b LEFT JOIN respuestabuleanas as b1 on b1.idPregunta='1' group by (opt);,但是Yes的值必须是0并且两者都返回1
    【解决方案2】:
    select if(b.opcionselec='Y','Yes','No') as opt, count(b.idPregunta) as val = 
          CASE opt
             WHEN 'YES' THEN '0'
           END,
    from respuestabuleanas as b 
    
    LEFT JOIN respuestabuleanas as b1 ON b1.idPregunta='1' group by (b.opcionselec);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多