iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql count的作用是什么
  • 791
分享到

mysql count的作用是什么

mysqlcount 2023-04-07 17:04:46 791人浏览 八月长安
摘要

本篇内容主要讲解“Mysql count的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql count的作用是什么”吧!

本篇内容主要讲解“Mysql count的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习mysql count的作用是什么”吧!

mysql count是一个聚合函数,用于返回指定匹配条件的行数;count函数的使用语法如“select count(*) from user;”,表示统计所有的记录,包括NULL。

1. COUNT()函数概述

COUNT() 是一个聚合函数,返回指定匹配条件的行数。开发中常用来统计表中数据,全部数据,不为NULL数据,或者去重数据。

2. COUNT()参数说明

COUNT(1):统计不为NULL 的记录。
COUNT(*):统计所有的记录(包括NULL)。

COUNT(字段):统计该"字段"不为NULL 的记录。

  • 如果这个字段是定义为not null的话,一行行地从记录里面读出这个字段,判断不能为null,按行累加。

  • 如果这个字段定义允许为null的话,判断到有可能是null,还要把值取出来在判断一下,不是null才累加。

COUNT(DISTINCT 字段):统计该"字段"去重且不为NULL 的记录。

-- MySql统计函数count测试
-- 创建用户表,新增测试数据
CREATE TABLE `user` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID主键',
  `name` varchar(64) DEFAULT NULL COMMENT '姓名',
  `sex` varchar(8) DEFAULT NULL COMMENT '性别',
  `age` int(4) DEFAULT NULL COMMENT '年龄',
  `born` date DEFAULT NULL COMMENT '出生日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='用户表';

INSERT INTO `cateGory`.`user`(`id`, `name`, `sex`, `age`, `born`) VALUES (1, '%张三%', '男', 22, '2022-04-22');
INSERT INTO `category`.`user`(`id`, `name`, `sex`, `age`, `born`) VALUES (2, '李四', '女', 12, '2022-04-01');
INSERT INTO `category`.`user`(`id`, `name`, `sex`, `age`, `born`) VALUES (3, '王小二', '女', 12, '2022-04-28');
INSERT INTO `category`.`user`(`id`, `name`, `sex`, `age`, `born`) VALUES (4, '赵四', '男', 23, '2022-04-28');
INSERT INTO `category`.`user`(`id`, `name`, `sex`, `age`, `born`) VALUES (5, '', '女', 23, '2022-04-28');
INSERT INTO `category`.`user`(`id`, `name`, `sex`, `age`, `born`) VALUES (6, NULL, '女', 60, '2022-04-28');
INSERT INTO `category`.`user`(`id`, `name`, `sex`, `age`, `born`) VALUES (7, NULL, '女', 61, '2022-04-28');

select * from user;

-- 统计数据:7条数据,统计所有的记录(包括NULL)。
select count(*) from user;

-- 统计数据:7条数据,统计不为NULL 的记录。
select count(1) from user;

-- 统计数据:5条数据,COUNT(字段):统计该"字段"不为NULL 的记录,注意是null不是空''字符串
select count(name) from user;

-- 统计数据:5条数据,COUNT(DISTINCT 字段):统计该"字段"去重且不为NULL 的记录。
select count(distinct name) from user;

3. COUNT()判断存在

SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了,业务代码中直接判断是否非空即可。
select 1 from emp LIMIT 1;效率是最高的,尤其是需要limit限制行数,很容易忽略。

-- SQL查找是否"存在"
-- 员工表,存在则进行删除
drop table if EXISTS emp;
create table emp(
    id int unsigned primary key auto_increment,
    empno mediumint unsigned not null default 0,
    empname varchar(20) not null default "",
    job varchar(9) not null default "",
    mgr mediumint unsigned not null default 0,
    hiredate datetime not null,
    sal decimal(7,2) not null,
    comn decimal(7,2) not null,
    depno mediumint unsigned not null default 0
);

-- 新增cehsi数据
测试数据:https://blog.csdn.net/m0_37583655/article/details/124385347

-- cahxun 
select * from emp ;

-- 时间:1.082s,数据:5000000
explain select count(*) from emp;

id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1   SIMPLE Select tables optimized away

-- 时间:1.129s,数据:5000000
explain select count(1) from emp;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1   SIMPLE Select tables optimized away

-- 时间:1.695s,数据:5000000
explain select 1 from emp;
id select_type table partitions type possible_keys key           key_len ref rows   filtered Extra
1   SIMPLE emp idx_emp_depno 3 4981060 100.00 Using index

-- SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了,业务代码中直接判断是否非空即可
-- 时间:0.001s,数据:5000000
explain select 1 from emp LIMIT 1;
id select_type table partitions type possible_keys key           key_len ref rows   filtered Extra
1   SIMPLE emp idx_emp_depno 3 4981060 100.00 Using index

4. COUNT()阿里开发规范

1.【强制】不要使用 count(列名)或 count(常量)来替代 count(),count()是 SQL92 定义的标 准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关. 说明:count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行.

2.【强制】count(distinct col) 计算该列除 NULL 之外的不重复行数,注意 count(distinct col1, col2) 如果其中一列全为 NULL,那么即使另一列有不同的值,也返回为 0.

mysql count的作用是什么

到此,相信大家对“mysql count的作用是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: mysql count的作用是什么

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

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

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • mysql count的作用是什么
    本篇内容主要讲解“mysql count的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql count的作用是什么”吧! ...
    99+
    2023-04-07
    mysql count
  • MySQL中select count()的作用是什么
    select count()函数用于统计查询结果集中行的数量。可以用来快速获取表中数据的总数,或者根据条件统计满足条件的行...
    99+
    2024-05-13
    MySQL
  • mysql 中count函数的作用是什么
    mysql 中count函数的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SELECT COUNT(salary...
    99+
    2024-04-02
  • mysql中having count的作用是什么
    在MySQL中,HAVING COUNT语句用于在对结果进行汇总后,筛选出特定聚合函数(例如COUNT)的结果满足条件的行。...
    99+
    2024-04-09
    mysql
  • MySQL中count(*)、count(1)、count(col)的区别是什么
    这篇文章给大家分享的是有关MySQL中count(*)、count(1)、count(col)的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。count 作用COUNT(expression):返回查询...
    99+
    2023-06-29
  • python中count的作用是什么
    本篇文章为大家展示了python中count的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python...
    99+
    2023-06-14
  • oracle中count的作用是什么
    在Oracle数据库中,COUNT函数的作用是统计查询结果集中行的数量。COUNT函数可以用于统计表中符合特定条件的行数,也可以用于...
    99+
    2024-04-09
    oracle
  • MySQL中count(*)、count(1)、count(col)三者的区别是什么
    MySQL中count(*)、count(1)、count(col)三者的区别是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、表结...
    99+
    2024-04-02
  • sql中count函数的作用是什么
    在SQL中,COUNT函数的作用是用来统计查询结果集中行的数量。它可以用来计算满足特定条件的行的数量,也可以用来简单地统计表中所有行...
    99+
    2024-04-09
    sql
  • sql中having count的作用是什么
    在SQL中,HAVING COUNT的作用是对GROUP BY子句中分组后的结果进行筛选,只显示符合指定条件的分组结果。通常...
    99+
    2024-03-13
    sql
  • sql中count()函数的作用是什么
    在SQL中,count()函数用于计算结果集中行的数量或符合特定条件的行的数量。它可以用来统计表中的记录数量,也可以用来计算满足条件...
    99+
    2024-04-18
    sql
  • mysql中having count的用法是什么
    在MySQL中,HAVING COUNT语句通常用于与GROUP BY一起使用,用于过滤聚合函数结果。当需要对分组后的数据进...
    99+
    2024-03-04
    mysql
  • mysql中count和distinct的用法是什么
    在MySQL中,COUNT()函数用于计算指定列中的行数,而DISTINCT关键字用于指定只统计不同的值。通常情况下,COUNT()...
    99+
    2024-04-09
    mysql
  • count(*)、count(1)和count(列名)的区别是什么
    本篇内容主要讲解“count(*)、count(1)和count(列名)的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“count(*)、count(1)和count(列名)的区别是什...
    99+
    2023-06-02
  • mysql中count( *)、count( 1)、count( 主键)、count( 字段)的区别说什么
    小编给大家分享一下mysql中count( *)、count( 1)、count( 主键)、count( 字段)的区别说什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!  select ...
    99+
    2024-04-02
  • SQL count函数的用法是什么
    SQL的COUNT函数用于计算一个表中满足指定条件的行数。它可以用于统计某个表中满足指定条件的记录数量。COUNT函数的基本语法如下...
    99+
    2023-09-27
    SQL
  • oracle中count(1)与count(*)的区别是什么
    在Oracle中,COUNT(1)和COUNT(*)是用来计算行数的聚合函数,但它们之间有一些细微的区别: COUNT(1)会对每...
    99+
    2024-03-02
    oracle
  • sql中count和distinct的用法是什么
    在SQL中,COUNT和DISTINCT是用来对数据进行统计和去重的两个关键字。 COUNT用于统计数据表中满足条件的记录数量,语法...
    99+
    2024-04-02
  • sql中having count的用法是什么
    HAVING COUNT 是 SQL 查询中的一个子句,用于过滤具有特定聚合函数计算结果的行。通常与 GROUP BY 一起...
    99+
    2024-04-09
    sql
  • sql中count()函数的用法是什么
    在SQL中,COUNT()函数用于计算查询结果集中行的数量。它可以与SELECT语句一起使用,也可以与GROUP BY子句一...
    99+
    2024-04-18
    sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作