首页 > 数据库 >mysql的count(*),count(1),count(列)区别

mysql的count(*),count(1),count(列)区别

时间:2023-01-02 12:00:33浏览次数:42  
标签:count NULL 区别 mysql test c1 null 统计

在开发过程中,时常会用到这个count函数,count表示进行统计操作,比如统计某张表的总数量。现实中,都是附带条件where进行统计。那么他们区别是什么呢?

count()和count(1)统计的数据中不会忽略某一列为null的值,coun(列)统计的数据中,只统计该列不为null的值。使用时可根据是否需要统计某列为null的值来进行选择。mysql官方推荐使用count(),这是标准SQL的规范用法,开发过程中,习惯用count(主键)使用。个人习惯。


举例:其中c1为null

CREATE TABLE `test` (

`id` int(10) UNSIGNED NOT NULL,

`c1` varchar(10) DEFAULT NULL,

`c2` char(30) NOT NULL,

`c3` varchar(200) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试';

select count(*) from test where 1

mysql的count(*),count(1),count(列)区别_数据

select count(c1) from test where 1   结果就少一条记录。

mysql的count(*),count(1),count(列)区别_数据_02

标签:count,NULL,区别,mysql,test,c1,null,统计
From: https://blog.51cto.com/wyf1226/5983575

相关文章

  • mysql数据库的分区与分表(概念性说明)
    为什么要分区或者分表分区、分表都是解决数据量大,查询数据慢的主要手段。正常情况下一个innodb表,在没有分区分表情况下。在数据库文件数据中,它是有一个存储表结构的.frm文件......
  • Java中动态代理技术生成的类与原始类的区别 (good)
    用动态代理的时候,对它新生成的类长什么样子感到好奇.有幸通过一些资料消除了心里的疑惑.平时工作使用的Spring框架里面有一个AOP(面向切面)的机制,只知道它是把类......
  • 史上最全的 pom.xml 文件详解(扩展:Maven的三种项目打包方式——pom,jar,war的区别)
    史上最全的pom.xml文件详解https://blog.csdn.net/jk418756/article/details/87917776?spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-blog......
  • mysql-connector-java与mysql以及JDK的对应版本
    https://blog.csdn.net/xunxue1523/article/details/105524758?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ER......
  • Centos7安装Mysql8
    Centos7安装Mysql8一、环境预备1.1首先查看系统是否存在mysql,无则不返回rpm-qa|grepmysql1.2安装wgetyum-yinstallwget1.3抓取mariadb并删除包,无则不返回......
  • 部署mysql-5.7.36主从复制
    24.mysql实战24.1集群要求1.搭建一个主N从的MYsql集群2.从节点可以水平扩展3.所有的写操作,都只能在主节点Master上执行4.所有的读操作可以在所有节点上执行#部署......
  • Docker配置mysql主从复制
    ---先创建master实例dockerrun-p3307:3306--namemysql-master\-v/mydata/mysql-master/log:/var/log/mysql\-v/mydata/mysql-master/data:/var/lib/mysql\-v/myd......
  • mysql在linux下的安装 (附详细命令)
    安装环境:系统是ubuntn1、下载下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads下载版本:我这里选择的5.6.33,通用版,linux下64位也......
  • 二进制部署mysql
    二进制部署mysql目录二进制部署mysql1.1下载二进制格式的mysql软件包1.2创建用户mysql1.3解压软件包到/usr/local1.4修改mysql目录的属主组1.5添加环境变量1.6建立......
  • Vue单页面与多页面的区别
    ​定义SPA单页面应用(SinglePageWebApplication),指只有一个主页面的应用(一个html页面),一开始只需要加载一次js、css的相关资源。所有内容都包含在主页面,对每一个功能模块......