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

MySQL中count(*)与count(字段区别)

核心规则

表达式 统计规则
COUNT(*) 统计所有行数(包括所有字段为NULL的行)。
COUNT(字段) 仅统计该字段不为NULL的行数(若字段为NULL则自动忽略该行)。

误区

A表连接B表,若A和B是一对多的关系时,会出现

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3370f974a0274cb2b234c387e5610d42.png

的结果,我们都知道A left join B时A的结果是一定存在的,当一对多时就会A有多个相同的结果,这个时候如果A left join B的同时在后面补上删除掉B1的条件,那么结果就只有一行了,像这种情况下左边的A1同样也就会少一行
在这里插入图片描述
我想表达的意思时,当在连接条件主动额外删除B表的数据时,实际上总体结果数量也被删除了(删除了一整行,除非下面在一条数据的情况下才会保留左表数据,因为只剩一行了),像这种情况发生时,你不管count()还是count(B表字段)都是一样的。因为丢失的数据在连接条件就被删除掉了,除非在一条数据的情况下你删除右表某些数据可能导致结果不相同,比如一个对一个的结果集中
在这里插入图片描述
当你A left join B on 连接条件 and 删除B1的条件 时,结果才会变成
在这里插入图片描述
只有在这种情况下count(
)和count(B表NULL的字段)才有区别

http://www.dtcms.com/a/67647.html

相关文章:

  • c_cpp_properties.json等三个文件解释
  • Unity中刚体撞墙抖动的原因和本质
  • 【算法】贪心
  • 使用Docker部署前端应用到生产环境
  • Spring生态下的中台架构设计:如何构建可扩展业务系统?
  • MOEFeedForward 模块
  • MongoDB 集群模式简单了解
  • Elasticsearch 7.x入门学习-系统架构与工作流程
  • 【商城实战(28)】揭秘推荐系统集成,开启个性化购物新时代
  • vscode 配置golang开发环境
  • ctf-web: xss 任意位置插入情况绕过 DOMPurify -- tpctf layout
  • Flutter 学习之旅 之 flutter 全屏背景图设置功能的简单实现
  • 1Panel 搭建DeepSeek-R1,开启AI自由新体验
  • Anaconda安装页面四个选项的作用
  • 【高级前端】为什么computed不起作用?有哪些使用computed 的禁忌?
  • Fiora聊天系统本地化部署:Docker搭建与远程在线聊天的实践指南
  • linux配置zabbix-agent
  • ODA模拟器实验系列之一:准备工作
  • 跟网型逆变器小干扰稳定性分析与控制策略优化simulink仿真模型和代码(包含完整仿真报告)
  • failed to load elasticsearch nodes
  • 体育赛事大数据分析:AI模型对足球大小球预测的精度优化
  • 如何用Docker容器化Java应用?Spring Boot实战指南
  • Python网络爬虫与数据采集实战——网络爬虫的基本流程
  • vue知识点(2)
  • 专访数势科技谭李:智能分析 Agent 打通数据平权的最后一公里
  • 简述计算机网络中的七层模型和四层模型
  • 基于jvisualvm的内存监控与远程连接配置指南
  • Android7上移植I2C-tools
  • 观成科技:​加密C2框架Platypus流量分析
  • git 基本常用操作,切换分支,合并分支