当前位置: 首页 > news >正文

MySQL常用的聚合函数

聚合函数

聚合函数对一组值进行运算,并返回单个值。也叫组合函数

函数

作用

COUNT(*|列名)

统计查询结果的⾏数

AVG(数值类型列名)

求平均值,返回指定列数据的平均值

SUM (数值类型列名)

求和,返回指定列的总和

MAX(列名)

查询指定列的最⼤值

MIN(列名)

查询指定列的最⼩值

这边有必要要提一下COUNT这个函数

count(*) 和 count(1)和count(列名)区别

count(1) 和 count(*)的区别

执行上来看count(1) and count(*)的效果一样,但是如果在表做过分析之后,使用count(1)比count(*)的用时会少一些,但是又差的不多,sql会自动帮助count()函数优化指定到那一个字段,所以count(1)和count(*)基本没有差别! 淦那我为什么要写

count(1) 和 count(字段)

1.count(1) 会统计表中的所有的记录数,包含字段为null 的记录

2.count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即不统计字段为null 的记录

count(*) 和 count(1)和count(列名)区别

1.count(*) 参数包括了所有的列,结果相当于行数,在统计结果的时候不会忽略值为null

2.count(1) 包括了所有列,用1代表代码行,在统计结果的时候不会忽略值为null

3.count(字段) 只包括指定字段那一行,统计结果的时候,会忽略值为null的记录

三者的执行效率

列名为主键,count(列名)会比count(1)快

列名不为主键,count(1)会比count(列名)快

如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)

如果有主键,则 select count(主键)的执行效率是最优的

如果表只有⼀个字段,则 select count(*)最优。

http://www.lryc.cn/news/26220.html

相关文章:

  • 如何评估模糊测试工具-unibench的使用
  • 2023初级会计详细学习计划打卡表!自律逆袭,一次上岸!
  • 【Python】Python项目打包发布(四)(基于Nuitka打包PySide6项目)
  • 一起Talk Android吧(第五百一十三回:Java中的byte数组与int变量相互转换)
  • 22《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》中文分享
  • vue2 @hook 的解析与妙用
  • 网络技术|网络地址转换与IPv6|路由设计基础|4
  • MySQL运维知识
  • 易基因-MeRIP-seq揭示衰老和神经变性过程中m6A RNA甲基化修饰的保守下调机制
  • 暑期实习准备——Verilog手撕代码(持续更新中。。。
  • Qt音视频开发19-vlc内核各种事件通知
  • Linux基础命令-nice调整进程的优先级
  • 解析C语言strcmp()函数
  • 初识scrapy
  • (JUC)核心线程 和 救急线程的区别;Executors-固定大小线程池单线程线程池
  • vue2的动画和过渡效果
  • 正数负数的取反运算推导过程
  • C语言 条件编译
  • Linux: ARM GIC只中断CPU 0问题分析
  • 测试软件5
  • 前端JS内存管理
  • 第七章.集成学习(Ensemble Learning)—袋装(bagging),随机森林(Random Forest)
  • Java_面向对象
  • 【IoT】智能烟雾报警器
  • Python实现定时执行脚本(5)
  • JavaSe第4次笔记
  • epoll机制
  • Java使用不同方式获取两个集合List的交集、补集、并集(相加)、差集(相减)
  • 【Android笔记80】Android之Retrofit适配器和文件上传下载
  • Nodejs模块化