mysql count 为null时,显示0的问题

 更新时间:2022年09月27日 10:24:27   作者:魏N来  
这篇文章主要介绍了mysql count 为null时,显示0的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mysql count 为null时,显示0

1.使用ifnull

ifnull(字段名,目标值)

SELECT a.*,IFNULL(r.count,0) from (SELECT act_id,poster_id,type,style_type,status,status_time,title,content,images,start_time,end_time,district_id,address,lon_map,lat_map,person_num,person_name,person_phone,person_wx_id,reward_min,reward_max,cost_type,meal_svc,taxi_svc,hair_length,hair_handle,remark,is_over,create_time,note 
FROM activity WHERE poster_id = 3055808629673784641 ORDER BY create_time DESC limit 0,20) a LEFT JOIN (SELECT count(1) count,act_id
                            FROM activity_user u
                            where  u.user_status in ('YBM', 'YTG', 'YQR')
                            GROUP BY u.act_id) r on a.act_id = r.act_id

2.运行结果

mysql让count为0的记录也显示出来

在mysql 下执行如下命令

select use_city,count(*) from data where os="Windows 2003 Std" group by use_city;

得到的结果为:

+-----------+----------+
| use_city | count(*) |
+-----------+----------+
| Beijing | 2 |
| Chengdu | 2 |
| Chongqing | 1 |
| Dalian | 2 |
| Fuzhou | 2 |
| Guangzhou | 2 |
| Hangzhou | 2 |
| Nanjing | 2 |
| Shanghai | 21 |
| Shenyang | 5 |
| Wuhan | 1 |
+-----------+----------+
11 rows in set (0.01 sec)

共有11条记录,问题是其中有一个城市“Tianjing”是没有记录符合的,怎么让他显示成

+-----------+----------+
| use_city | count(*) |
+-----------+----------+
| Beijing | 2 |
| Chengdu | 2 |
| Chongqing | 1 |
| Dalian | 2 |
| Fuzhou | 2 |
| Guangzhou | 2 |
| Hangzhou | 2 |
| Nanjing | 2 |
| Shanghai | 21 |
| Tianjing | 0 |
| Shenyang | 5 |
| Wuhan | 1 |
+-----------+----------+

让它count为0的记录也显示出来,做法如下:

SELECT
use_city,
COUNT(CASE WHEN os='Windows 2003 Std' THEN 1 ELSE NULL END)
FROM
data
GROUP BY
use_city

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • Mysql命令行连接远程/本地数据库详解

    Mysql命令行连接远程/本地数据库详解

    新使用MySQL,说起来是个简单的事情,,但是却费了些周折,下面这篇文章主要给大家介绍了关于Mysql命令行连接远程/本地数据库的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • mysql安装配置详解教程(一)

    mysql安装配置详解教程(一)

    这篇文章主要为大家详细介绍了mysql安装配置教程,以图文结合的方式为大家分享了mysql安装步骤,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • SQL实现相邻两行数据的加减乘除操作

    SQL实现相邻两行数据的加减乘除操作

    这篇文章主要介绍了SQL实现相邻两行数据的加减乘除操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Mysql 数据库访问类

    Mysql 数据库访问类

    Mysql数据库访问类 实现代码,对于想学习mysql操作类的朋友值得一看
    2009-02-02
  • Mysql写入数据十几秒后被自动删除了如何解决

    Mysql写入数据十几秒后被自动删除了如何解决

    这篇文章主要介绍了Mysql写入数据十几秒后被自动删除了如何解决,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 新手入门Mysql--sql执行过程

    新手入门Mysql--sql执行过程

    MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展MySQL是开放源代码的,因此任何人都可以在 GPL的许可下下载并根据个性化的需要对其进行修改
    2021-06-06
  • MYSQL5.7.9开启慢查询日志的技巧

    MYSQL5.7.9开启慢查询日志的技巧

    这篇文章主要介绍了MYSQL5.7.9开启慢查询日志的技巧的相关资料,需要的朋友可以参考下
    2016-03-03
  • mysql定时删除过期数据记录的简单方法

    mysql定时删除过期数据记录的简单方法

    今天小编就为大家分享一篇mysql定时删除过期数据记录的简单方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • MySQL存储过程的查询命令介绍

    MySQL存储过程的查询命令介绍

    这篇文章主要介绍了MySQL存储过程的查询命令介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • mysql利用group_concat()合并多行数据到一行

    mysql利用group_concat()合并多行数据到一行

    把查询name字段得到的多行记录进行合并,可以通过程序实现,但也可直接在sql层完成,需要的朋友可以参考下
    2014-07-07

最新评论