首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL count()函数及其优化count(1),count(*),count(字段)区别

很简单,就是为了统计记录数 由SELECT返回 为了理解这个函数,让我们祭出 employee_tbl 表 所有记录 统计行的总数 计算 Zara 的记录数 注意:由于 SQL 查询对大小写不敏感,所以在...WHERE 条件中,无论是写成 ZARA 还是 Zara,结果都是一样的 count(1),count(*),count(字段)区别 count(1)和count(*) 作用 都是检索表中所有记录行的数目...,不论其是否包含null值 区别 count(1)比count(*)效率高 二 . count(字段)与count(1)和count(*)的区别 count(字段)的作用是检索表中的这个字段的非空行数,...快 如果有主键,那么count(主键,联合主键)比count(*)快 如果表只有一个字段,count(*)最快 count(1)跟count(主键)一样,只扫描主键。...count(*)跟count(非主键)一样,扫描整个表 明显前者更快一些。

2.6K60
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL查询---COUNT函数

所以上一篇主要提到了几种可以优化分页的方案,而且分页业务一般都伴随着需要count函数查询总条数,所以本篇文章主要讲讲count函数的一般优化方案。 为什么分页一般要伴随查询数量?...首先,我们先贴下最基本的count函数语法: select count(expr) from table; 可以看到count函数实际上需要传入expr,这个expr一般取值有以下三个: 列名:会检索对应列值不为...因为Mysql官方文档写了这么一句话: InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way....我个人建议使用count(*),因为SQL92标准中制定count(*)为标准统计行数的语法,所以Mysql一直在不断地对count(*)做一定的优化。那有人说count(id)效率会不会更高?...所以在count(col)时就可以在字段上添加一个二级索引加快检索速率。 count函数指定where条件 这里一样得分两种情况:count(*)和count(col)。

3.1K20

mysql聚合函数

聚合(或聚集、分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。 1. 聚合函数介绍 什么是聚合函数 聚合函数作用于一组数据,并对一组数据返回一个值。...[在这里插入图片描述] 聚合函数类型 AVG() SUM() MAX() MIN() COUNT() 聚合函数语法 [在这里插入图片描述] 聚合函数不能嵌套调用。...使用了聚合函数。 满足HAVING 子句中条件的分组将被显示。 HAVING 不能单独使用,必须要跟 GROUP BY 一起使用。...: 不能在 WHERE 子句中使用聚合函数。...LIMIT... 2.SELECT 语句的执行顺序(在 MySQL 和 Oracle 中,SELECT 执行顺序基本相同): FROM -> WHERE -> GROUP BY -> HAVING ->

3.1K10

mysqlcount()函数的用法

(*) from `user` select count(1) from `user` select count(1) from `user` 2.如果有一张字段很多的表,比如user表,第2个字段是...user_name ,第20个字段是school_major,那么下面第一条会比第二条快很多,经过测试,字段在表中越靠后,count时效率越低: select COUNT(`user_name`) FROM...`user` select COUNT(`school_major`)FROM `user` 3.如果count(column),这个column是建了索引的,那么速度会比没有建立索引的快很多 4....使用count(column)时,一定要注意思考业务逻辑,比如说,查询user表中一共有多少人: 很多人上来就 select count(*) from `user` 这时候,如果数据库中出现同一条记录出现了两遍呢...select count(distinct(user_name)) from `user` 以上数据,是在mysql数据库,100万条数据,200万条数据,和300万条数据下做出验证的。

3.4K21

MySQL系列(2)——聚合函数查询

一、聚合函数查询 1.COUNT()函数——用来统计记录的条数; 例如查询grade表中有几条数据: 先看grade表中所有的数据:select * from grade; ?...select count(*) as total from grade; ?...总共9条数据,as total是给count(*)取别名; 2.SUM()函数——是求和函数,计算一列值的总和(此列必须是数值型数据); 例如查询grade表中张三的总分: select stuName...3.AVG()函数——求一列值的平均值的函数; 例如,查询表中张三的平均分: select stuName,avg(score) from grade where stuName='张三'; ?...二、GROUP BY分组查询 group by 常常与聚合函数一起使用 1.与COUNT(*)函数一起使用 例如:查询grade表中的记录条数,并按照姓名分组: select stuName,count

1.6K30

MySql聚合函数&&group by&&OJ题目

本篇主要介绍mysql聚合函数和group by的使用,最后是OJ题目的练习。...聚合函数 MySQL中的聚合函数用于对数据进行计算和统计,常见的聚合函数包括下面列举出来的聚合函数函数 说明 COUNT([DISTINCT] expr) 返回查询到的数据的数量...[DISTINCT] expr) 返回查询到的数据的最大值,不是数字没有意义 MIN([DISTINCT] expr) 返回查询到的数据的最小值,不是数字没有意义 对于上面所列举出来的聚合函数...,下面我们通过一些案例来进行对聚合函数的运用,增强理解,话不多说 统计班级共有多少同学 -- 使用 * 做统计,不受 NULL 影响 select count(*) from exam_result;...不要单纯的认为只有在磁盘上表结构导入到mysql,真实存在的表才叫做表,中间筛选出来的包括最终结果全部都是逻辑上的表,可以理解为mysql一切皆为表。

16410
领券