Mysql COUNT() 函数详解

在使用Mysql的时候,作为开发者,聚合函数是肯定会用到的,下面就来说说我们常用到的统计行数的聚合函数 COUNT()。

COUNT() 的几种用法

说到COUNT() 函数,最常用的几种方法就是 COUNT(*) 、COUNT(1)、 COUNT(column),那么关于这几种 COUNT() 函数的不同之处这里就来详细说说,这里提前准备一个表并填充部分数据,比如

SELECT * FROM sys_post;

在这里插入图片描述

COUNT(*)

统计表中满足条件的所有的数据行数,包括 NULL 和重复项,比如

SELECT COUNT(*) FROM sys_post;

在这里插入图片描述

COUNT(1)

COUNT(1) 和 COUNT(*) 差不多,统计表中满足条件的所有数据行数,包括 NULL和重复项,比如

SELECT COUNT(1) FROM sys_post;

在这里插入图片描述

COUNT(column)

COUNT(column) 统计列名会统计满足条件的所有数据行数,不包括指定列名为 NULL的数据,比如

SELECT COUNT(create_by) FROM sys_post;

在这里插入图片描述

COUNT(*) 与 GROUP BY

这里统计不同 create_by 的数据行数,比如

SELECT create_by,COUNT(*) FROM sys_post GROUP BY create_by;

在这里插入图片描述

COUNT(*) 与 GROUP BY 和 HAVING

这类统计不同create_by 的数据行数,并筛选出 COUNT(*) > 1 的数据,比如

SELECT create_by,COUNT(*) FROM sys_post GROUP BY create_by HAVING COUNT(*)>1;

在这里插入图片描述

COUNT(expr) 的用法

COUNT(expr) 表示COUNT 统计带条件的指定列的数据

COUNT(DISTINCT expr)

统计指定字段去重后的数据行数,这里不会统计该字段为 NULL 的数据,同时对于该字段相同数值只统计一次,比如

SELECT COUNT(DISTINCT post_sort) FROM sys_post;

在这里插入图片描述

由于原始数据中有两个 post_port = 1 的数据,因此去重统计时会只统计一次。另外就是 COUNT(DISTINCT post_sort) 不会统计该列值为 NULL 的数据,比如这里去重统计 create_by

SELECT COUNT(DISTINCT create_by) FROM sys_post;

在这里插入图片描述

这是因为表中数据 create_by 只有 admin 和 NULL 两种数据,不统计 NULL 数据,去重后就只剩下数字 1 了。

COUNT(expr) 带条件查询

这里有一个场景,就是需要统计 create_by 不是 admin ,那么就需要用到 COUNT(expr) 中的条件了,首先给表 sys_post 增加两条数据,增加数据后如下
在这里插入图片描述

统计 create_by 不是 admin 的数据行数,如下

SELECT COUNT(if(create_by != 'admin',1,null)) FROM sys_post;

在这里插入图片描述

这里实际就是 COUNT(create_by) ,那么指定列字段的统计,不会计算 NULL 的数据,根据条件 create_by != ‘admin’ 计算得出就是只有 create_by 是 cc 、dd的两条数据了。
上面的查询语句也可以这样更改

SELECT COUNT(CASE WHEN create_by != 'admin' THEN 1 END) FROM sys_post;

查询结果是一样的效果
在这里插入图片描述

写在最后

以上就是Mysql 统计数据时常用到的 COUNT() 函数的几种场景,大家有需要的可以参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的图书馆座位预约系统+lw示例参考

#1.项目介绍 系统角色:管理员、普通用户功能模块:管理员(用户管理、座位管理、座位分类管理、图书馆管理、预约信息管理、退座管理、系统管理等)、普通用户(信息查看、图书馆管理、个人中心、座位预约等)技…

【数字图像处理+MATLAB】计算并显示灰度图像的直方图(Histogram):使用 imhist 函数

引言 imhist 是 MATLAB 中的一个函数,用于计算并显示图像的直方图。 直方图是一种统计工具,用于显示图像中各个亮度级别的像素数量。直方图的垂直轴表示像素数量,水平轴表示亮度级别。 函数详解 基本语法: imhist(I) imhist(I…

了解云计算工作负载保护的重要性及必要性

云计算de小白 云计算技术的快速发展使数据和应用程序安全成为一种关键需求,而不仅仅是一种偏好。随着越来越多的客户公司将业务迁移到云端,保护他们的云工作负载(指所有部署的应用程序和服务)变得越来越重要。云工作负载保护&…

windows server2019下载docker拉取redis等镜像并运行项目

一、基本概念 1、windows server 指由微软公司开发的“Windows”系列中的“服务器”版本。这意味着它是基于Windows操作系统的,但专门设计用于服务器环境,而不是普通的桌面或个人用户使用。主要用途包括服务器功能、用户和资源管理、虚拟化等 2、dock…

0. 渲染游戏画面

1 用到的函数 # initialize env env gym.make() frame env.render() frame np.transpose(frame, (1, 0, 2)) # 调整图像方向 frame pygame.surfarray.make_surface(frame) screen.blit(frame, (0, 0)) pygame.display.flip()1.1 检查图像的形状 首先,我们…

【西藏】《西藏自治区本级政务信息化项目建设和运维费用预算支出标准》(藏财建〔2024〕68号)-省市费用标准解读系列08

2024年9月1日,西藏自治区财政厅和经济和信息化厅正式施行最新信息化建设和运维项目预算支出标准《西藏自治区本级政务信息化项目建设和运维费用预算支出标准》(藏财建〔2024〕68号)(以下简称“68号文”)。同时&#xf…

Autosar CP Transformer规范工作原理和应用场景导读

一、AUTOSAR规范中Transformer的主要功能和分类 (一)主要功能 数据转换与处理 从运行时环境(RTE)获取数据,进行序列化(将复杂数据结构转换为线性字节数组)或其他转换操作(如添加校…

【网络安全 | 并发问题】Nginx重试机制与幂等性问题分析

未经许可,不得转载。 文章目录 业务背景Nginx的错误重试机制proxy_next_upstream指令配置重试500状态码非幂等请求的重试问题幂等性和非幂等性请求non_idempotent选项的使用解决方案业务背景 在现代互联网应用中,高可用性(HA)是确保系统稳定性的关键要求之一。为了应对服务…

天津营业执照注销流程

营业执照不注销会有什么影响?1、公司不经营,放几年自动注销?真相:不管放多长时间,公司是不会自动注销的。相反,放任长久不维护,公司会出现异常,营业执照被吊销,公司股东、…

MySQL数据库专栏(五)连接MySQL数据库C API篇

摘要 本篇文章主要介绍通过C语言API接口链接MySQL数据库,各接口功能及使用方式,辅助类的封装及调用实例,可以直接移植到项目里面使用。 目录 1、环境配置 1.1、添加头文件 1.2、添加库目录 2、接口介绍 2.1、MySql初始化及数据清理 2.1.…

计算机课程管理:Spring Boot实现的工程认证路径

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于工程教育认证的计算机课程管理平台的开发全过程。通过分析基于工程教育认证的计算机课程管理平台管理的不足,创建了一个计算机管理基于工程教育认…

【无人机设计与控制】无人机集群路径规划:5种最新优化算法(ECO、AOA、SFOA、MGO、PLO)求解无人机集群路径规划

摘要 本文提出了基于无人机集群路径规划的研究,通过使用五种最新优化算法(ECO、AOA、SFOA、MGO、PLO)进行求解。这些算法主要优化无人机在复杂环境中的路径,以实现多目标规划问题的高效解。实验结果表明,不同算法在收…

从0开始搭建一个生产级SpringBoot2.0.X项目(十)SpringBoot 集成RabbitMQ

前言 最近有个想法想整理一个内容比较完整springboot项目初始化Demo。 SpringBoot集成RabbitMQ RabbitMQ中的一些角色: publisher:生产者 consumer:消费者 exchange个:交换机,负责消息路由 queue:队列…

牧神记开分9.7,2024新国漫巅峰出现了

现在国漫越来越卷了,卷播放量也卷评分。最近,b站上线不久的国漫《牧神记》开分9.7,口碑还是相当不错的,已经和《凡人修仙传》评分齐平。这部国漫仅仅播出4集,为什么就能获得这么高的评分呢?下面就一起来看看…

了解GPT大模型,读这本书就够了!(文末送书)

小异最近发现,当国外OpenAI的权力的游戏反转再反转的时候,国内的AI创业者们除了吃瓜之外也没闲着。 有很多程序员正在AIGC赛道中默默发财,有通过短视频做内容爆火,接广告的;有卖AI解决方案的;有卖AI课程的…

〔 MySQL 〕数据库基础

1. 数据库基础(重点) 1.1 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库?文件保存数据有以下几个缺点: ● 文件的安全性问题 ● 文件不利于数据查询和管理 ● 文件不利于存储海量数据 …

关于C++友元函数的优缺点和应用场景!

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 友元函数的相关内容! 关于…

笔记本怎么开启TPM2.0_笔记本开启TPM2.0教程(不同笔记本开启tpm2.0方法)

在win11最低要求是提示,电脑必须满足 TPM 2.0,并开需要开启TPM 才能正常安装windows11系统,有很多笔记本的用户问我,笔记本怎么开启tpm功能呢?下面小编就给大家详细介绍一下笔记本开启tpm功能的方法。 如何确认你笔记本…

Fastjson反序列化漏洞部署复现1.2.24版本反序列RCE笔记

环境部署 docker容器地址:https://github.com/vulhub/vulhub/tree/master/fastjson/1.2.24-rce 启动docker环境 docker容器每次一启动就报错 根据docker log [容器id] 查看报错日志发现有如下报错 library initialization failed - unable to allocate file desc…