返回顶部
首页 > 资讯 > 数据库 >Mysql中使用count加条件统计的实现示例
  • 223
分享到

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

Mysql count条件统计Mysql count条件 2022-07-29 16:07:25 223人浏览 独家记忆
摘要

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

前言

最近发现在处理Mysql问题时,count()函数频繁上镜,常常出现在分组统计的情景下,但是有时候并不是使用group by分好组就可以直接统计了,比如说一个常见的需求,统计每个班级男生所占的比例,这种情况一般会按照班级分组,但是分组内不但要统计班级的人数,还要统计男生的人数,也就是说统计是有条件的,之前确实没有考虑过怎样实心,后来查询了资料,总结在这里,方便日后查找使用。

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)

条件统计

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

到此这篇关于Mysql中使用count加条件统计的实现示例的文章就介绍到这了,更多相关Mysql count条件统计内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql中使用count加条件统计的实现示例

本文链接: https://lsjlt.com/news/33505.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mysql中使用count加条件统计的实现示例
    目录前言测试环境准备工作条件统计总结前言 最近发现在处理mysql问题时,count()函数频繁上镜,常常出现在分组统计的情景下,但是有时候并不是使用group by分好组就可以直接统计了,比如说一个常见的需求,统计每个...
    99+
    2022-07-29
    Mysql count条件统计 Mysql count条件
  • Mysql中使用count加条件统计
      Mysql中count()函数的一般用法是统计字段非空的记录数,所以可以利用这个特点来进行条件统计,注意这里如果字段是NULL就不会统计,但是false是会被统计到的,记住这一点,我们接下来看看几种常见...
    99+
    2024-04-02
  • MySQL中如何实现无过滤条件的count
    小编给大家分享一下MySQL中如何实现无过滤条件的count,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!count(*)实现1...
    99+
    2024-04-02
  • 在SQL语句统计数据时sum和count函数中使用if判断条件的示例分析
    这篇文章主要介绍在SQL语句统计数据时sum和count函数中使用if判断条件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例:order_type:订单类型 open_...
    99+
    2024-04-02
  • mysql中if else多条件的使用示例
    这篇文章主要介绍mysql中if else多条件的使用示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、 编写一条update语句实现商品涨价,具体规则如下1、99元以...
    99+
    2024-04-02
  • MySQL大表count()的优化实现示例
    小编给大家分享一下MySQL大表count()的优化实现示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!今天实验了一下MySQL的count()操作优化, 以下...
    99+
    2023-06-14
  • sql中count或sum为条件的查询示例是怎样的
    sql中count或sum为条件的查询示例是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。比如user_num表:例1:查询出现过2次的...
    99+
    2024-04-02
  • MySql统计函数COUNT的具体使用详解
    目录1. COUNT()函数概述2. COUNT()参数说明3. COUNT()判断存在4. COUNT()阿里开发规范1. COUNT()函数概述 COUNT() 是一个聚合函数,返回指定匹配条件的行数。开发中常用来统...
    99+
    2022-08-14
    MySql统计函数COUNT MySqlCOUNT
  • 使用python实现条件选择的案例
    小编给大家分享一下使用python实现条件选择的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、...
    99+
    2023-06-14
  • SpringBoot实现Mysql使用MD5进行密码加密的示例
    项目开发中为了保护用户隐私安全,一般都会用MD5进行密码加密 以下就简单举例SpringBoot 实现Mysql使用MD5进行密码加密做一个简单的例子 看下数据库,这边简单做了用户表...
    99+
    2024-04-02
  • Python中并列和或者条件的使用示例
    这篇文章给大家分享的是有关Python中并列和或者条件的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。对Python 同时符合两个的条件的语句,用and连接,不能用&&(会报错);也可以用...
    99+
    2023-06-08
  • Redis实现UV统计的示例代码
    目录一、HyperlogLog1、为什么用HyperLogLog2、HyperLogLog是什么二、实现UV统计一、HyperLogLog 1、为什么用HyperLogLog 先介绍两个概念: UV:全称 Unique ...
    99+
    2023-01-29
    Redis UV统计
  • go goroutine实现素数统计的示例
    统计1-120000的素数 1、分析可以通过分段,go协程来实现2、协程1统计1---300003、协程2统计30001---600004、协程3统计60001---900005、协...
    99+
    2024-04-02
  • Layui实现多条件查询的示例代码
    最近做一个档案系统,发现字段超多 带分页的多条件查询(分页需要后端分页,传page给后端才可实现,前端无法直接实现) 当我们点击搜索按钮时会筛选出输入值的相关数据,多条件查询是建立在...
    99+
    2024-04-02
  • TypeScript的条件类型使用示例详解
    目录TypeScript 的条件类型使用方式条件类型和 keyof 组合在条件返回中使用 T在类型输出中使用 T 时的联合类型使用条件类型推断类型总结TypeScript 的条件类型...
    99+
    2024-04-02
  • python实现简单中文词频统计示例
    本文介绍了python实现简单中文词频统计示例,分享给大家,具体如下: 任务 简单统计一个小说中哪些个汉字出现的频率最高 知识点 1.文件操作 2.字典 3.排序 4.lambda 代码 import...
    99+
    2022-06-04
    词频 示例 中文
  • MySQL中使用JSON存储数据的实现示例
    目录1.概述:2.使用:3.查询:4.修改5.删除6.排序7.索引8.实现原理:参考资料:1.概述: mysql从5.7版本开始引入了对jsON数据类型的原生支持。这个增强功能使开发人员能够直接在数据库中存储、操作和查询...
    99+
    2023-09-21
    MySQL JSON存储数据 MySQL JSON存储
  • java实现的统计字符算法示例
    本文实例讲述了java实现的统计字符算法。分享给大家供大家参考,具体如下:统计字符:概述:给定字符串,将它们进行分类,分别的去统计它们的个数及其字符分类的有:字母 数字 中文 空格 等等算法思路分析:分别统计即可:下面给出代码:(代码仅供参...
    99+
    2023-05-31
    java 统计 算法
  • MySQL中使用MD5加密的实现
    目录什么是MD5?MD5初体验MySQL中其他方式什么是MD5? MD5信息摘要算法(英语:MD5 Message-Digest Agorithm),一种被广泛使用的密码散列函数,可...
    99+
    2022-11-13
    MySQL MD5加密 MySQL MD5
  • Mysql中Performance_schema SQL执行统计的示例分析
    这篇文章主要为大家展示了“Mysql中Performance_schema SQL执行统计的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql中P...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作