我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql中使用count加条件统计

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql中使用count加条件统计

  Mysql中count()函数的一般用法是统计字段非空的记录数,所以可以利用这个特点来进行条件统计,注意这里如果字段是NULL就不会统计,但是false是会被统计到的,记住这一点,我们接下来看看几种常见的条件统计写法。

  测试环境

  Windows 10

  Welcome to the MySQL monitor. Commands end with ; or \g.

  Your MySQL connection id is 7

  Server version: 5.7.21-log MySQL Community Server (GPL)

  Copyright © 2000, 2018, Oracle and/or its affiliates. All rights reserved.

  Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

  Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

  准备工作

  新建一个Mysql数据表a,包含id和num两个字段

  mysql> create table a(id int, num int);

  Query OK, 0 rows affected (0.04 sec)

  插入测试数据,为了看count()函数的效果,我们插入两个空数据

  mysql> insert into a values (1,100),(2,200),(3,300),(4,300),(8,null),(9,null);

  Query OK, 6 rows affected (0.01 sec)

  Records: 6 Duplicates: 0 Warnings: 0

  查询表a中的数据,与后面的统计做比较

  mysql> select * from a;

  | id | num |

  | 1 | 100 |

  | 2 | 200 |

  | 3 | 300 |

  | 4 | 300 |

  | 8 | NULL |

  | 9 | NULL |

  6 rows in set (0.09 sec)

  调用count()函数看效果,如果使用count(*)会查询出所有的记录数,但如果使用count(num)发现只有4条数据,num为NULL的记录并没有统计上

  mysql> select count(*) from a;

  | count(*) |

  | 6 |

  1 row in set (0.03 sec)

  mysql> select count(num) from a;

  | count(num) |

  | 4 |

  1 row in set (0.04 sec)

  条件统计无锡×××医院 https://yyk.familydoctor.com.cn/20612/

  count()函数中使用条件表达式加or null来实现,作用就是当条件不满足时,函数变成了count(null)不会统计数量

  mysql> select count(num > 200 or null) from a;

  | count(num > 200 or null) |

  | 2 |

  1 row in set (0.22 sec)

  count()函数中使用if表达式来实现,当条件满足是表达式的值为非空,条件不满足时表达式值为NULL;

  mysql> select count(if(num > 200, 1, null)) from a;

  | count(if(num > 200, 1, null)) |

  | 2 |

  1 row in set (0.05 sec)

  count()函数中使用case when表达式来实现,当条件满足是表达式的结果为非空,条件不满足时无结果默认为NULL;

  mysql> select count(case when num > 200 then 1 end) from a;

  | count(case when num > 200 then 1 end) |

  | 2 |

  1 row in set (0.07 sec)

  总结

  使用count()函数实现条件统计的基础是对于值为NULL的记录不计数,常用的有以下三种方式,假设统计num大于200的记录

  select count(num > 200 or null) from a;

  select count(if(num > 200, 1, null)) from a

  select count(case when num > 200 then 1 end) from a


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql中使用count加条件统计

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql中使用count加条件统计的实现示例

目录前言测试环境准备工作条件统计总结前言最近发现在处理mysql问题时,count()函数频繁上镜,常常出现在分组统计的情景下,但是有时候并不是使用group by分好组就可以直接统计了,比如说一个常见的需求,统计每个班级男生所占的比例,
2022-07-29

MongoDB中怎么使用统计count()方法

这篇文章将为大家详细讲解有关MongoDB中怎么使用统计count()方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在MongoDB中对于大量的数据,可以使用count()方法对数据进行统计,得到某个
2023-06-14

MySql统计函数COUNT的具体使用详解

目录1. COUNT()函数概述2. COUNT()参数说明3. COUNT()判断存在4. COUNT()阿里开发规范1. COUNT()函数概述COUNT() 是一个聚合函数,返回指定匹配条件的行数。开发中常用来统计表中数据,全部数据
2022-08-14

实时统计:COUNT在流式数据处理中的使用

在流式数据处理中,COUNT操作用于实时统计数据流中的元素数量。通过在数据流中逐步统计元素的数量,可以实时监控数据流的变化情况,并及时做出相应的处理。COUNT操作通常结合窗口操作一起使用,可以在固定时间窗口或固定元素数量窗口内进行实时统
实时统计:COUNT在流式数据处理中的使用
2024-08-10

SQL中distinct去重关键字使用和count统计组合使用方法

目录1、distinct作用于单列2、distinct作用于多列3、 编程count()、distinct组合使用conut扩展知识总结 1、distinct作用于单列语法:select distinct 列名 from 表;dist
SQL中distinct去重关键字使用和count统计组合使用方法
2024-08-09

在 Go 中使用计时器来触发条件?

哈喽!今天心血来潮给大家带来了《在 Go 中使用计时器来触发条件?》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!问题内容我正在尝试在
在 Go 中使用计时器来触发条件?
2024-04-05

详解mysql 使用left join添加where条件的问题分析

当前需求:有group和factor两张表,一个group对应多个factor,现在想查询有效的group和对应的有效的factor,两个表都有isDel逻辑删除标志。最开始的错误写法一:SELECT g.*,f.* FROM groups
2022-05-29

MySQL中怎么使用WHERE子句进行条件过滤

在MySQL中,可以使用WHERE子句对查询结果进行条件过滤。在SELECT语句中,可以在FROM子句后面添加WHERE子句,并指定要应用的条件。例如,以下是一个简单的示例,从名为"customers"的表中选择所有姓为"Smith"的客
MySQL中怎么使用WHERE子句进行条件过滤
2024-03-05

Linux服务器中如何使用加密文件系统

这期内容当中小编将会给大家带来有关Linux服务器中如何使用加密文件系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建一个 AWS access key(access key ID 和 secret
2023-06-13

Node.js 连接 MySql 统计组件属性的使用情况解析

这篇文章主要为大家介绍了Node.js 连接 MySql 统计组件属性的使用情况解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

linux系统中怎么使用mysql导入sql文件

这篇文章主要介绍“linux系统中怎么使用mysql导入sql文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux系统中怎么使用mysql导入sql文件”文章能帮助大家解决问题。上传sql文
2023-06-28

怎么在MySQL中使用sum、case和when优化统计查询

怎么在MySQL中使用sum、case和when优化统计查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。表结构如下:CREATE TABLE `statist
2023-06-14

Linux系统中如何使用Vim/Vi给文件加密和解密

本篇文章给大家分享的是有关Linux系统中如何使用Vim/Vi给文件加密和解密,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。当我们在写代码或者文章时总希望有一些文件不被别人看见
2023-06-28

怎么在Python中使用sql语句多条件模糊查询mysql数据库

怎么在Python中使用sql语句多条件模糊查询mysql数据库?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。def find_worldByName(c_name,con
2023-06-14

如何使用SQL语句在MySQL中进行数据过滤和条件查询?

如何使用SQL语句在MySQL中进行数据过滤和条件查询?MySQL作为一种常用的数据库管理系统,广泛用于存储和管理大量数据。在实际应用中,我们常常需要根据特定的条件查询数据,以满足各种需求。本文将介绍如何使用SQL语句在MySQL中进行数据
如何使用SQL语句在MySQL中进行数据过滤和条件查询?
2023-12-18

编程热搜

目录