【问题标题】:How to query MySQL to count NULL values in database field?如何查询 MySQL 以计算数据库字段中的 NULL 值?
【发布时间】:2018-05-04 09:36:28
【问题描述】:

如何查询 MySQL 以计算数据库表列中的“NULL”值。我的查询响应总是 0 打印。

$rawm_jan_full=Yii::app()->db->createCommand("SELECT COUNT(trainings_id) AS trail_list from children WHERE MONTH(timestamp) = '1' AND YEAR(timestamp) ='".$previous_year."' AND trainings_id IS NULL ")->queryRow();

print_r($rawm_jan_full);

【问题讨论】:

  • 成功了,我已将 COUNT(trainings_id) 替换为 COUNT(*)

标签: php mysql singlestore


【解决方案1】:
$rawm_jan_full=Yii::app()->db->createCommand("SELECT COUNT(case when trainings_id is null then 1 else trainings_id end ) AS trail_list from children WHERE MONTH(timestamp) = '1' AND YEAR(timestamp) ='".$previous_year."' AND trainings_id IS NULL ")->queryRow();

 Replace COUNT(trainings_id )  with    COUNT(case when trainings_id is null then 1 else trainings_id end ) in order to include null in your count result

【讨论】:

    【解决方案2】:

    请使用 Queryall 而不是 queryRow。

    【讨论】:

      【解决方案3】:

      你可以使用 Queryall

      $rawm_jan_full=Yii::app()->db->createCommand("SELECT COUNT(trainings_id) AS trail_list from children WHERE MONTH(timestamp) = '1' AND YEAR(timestamp) ='".$previous_year."' AND trainings_id IS NULL ")->Queryall();
      
      print_r($rawm_jan_full);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-24
        相关资源
        最近更新 更多