Null和空值对于avg计算时产生的影响以及处理

为什么要关注这一块呢:1.面试中可能会有涉及 2.工作中真的也可能会用,既然有可能我也用过,就拿出来跟大家分享一下,上一篇的博文,数据已准备好就不做数据准备的介绍了。

step1:select * from a; —进行数据查询

Null和空值对于avg计算时产生的影响以及处理

step2: select avg(number) from a; —求平均值

Null和空值对于avg计算时产生的影响以及处理

分析:从上述结果来看,他是除了4,我们可以在单独验证是空字符串没有算行还是null值没有算呢,通过我们的实验发现是null没有算行。

在实际情况中我们要根据实际需要判断空字符串行以及null值所在的行要不要加入到计算行业中,这个时候我们就要引入我们的count函数根据实际需要灵活计算;

一、第一种空字符串和null值所在的行要加入到计算范围中:

select sum(number)/count(*) as avg from a;

Null和空值对于avg计算时产生的影响以及处理

二、第二种空字符串和null值所在的行不要加到计算范围中:

IF(expr1,expr2,expr3) —-使用if函数,若满足条件1,则返回expr2,不满足条件则返回expr3

问题关键就在于我们的count要把null和空字符全部剔除,首先使用我们的if函数把所有空字符串转化成null,然后使用count(字段)—会自动过滤掉我们的null值所在的行

count(if(number =”,null,number))

select sum(number)/count(if(number =”,null,number)) as avg from a;

Null和空值对于avg计算时产生的影响以及处理

Original: https://www.cnblogs.com/Skywal/p/15727704.html
Author: 天行者_sky
Title: Null和空值对于avg计算时产生的影响以及处理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612031/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 汉诺塔

    设计并实现一个游戏:汉诺塔。完成这个实验,涉及C++面向对象编程以及基本的数据结构知识(如栈和队列)但具此次实现并没有使用STL库。 1. 汉诺塔问题 汉诺塔是一个著名的数学问题。…

    Linux 2023年6月13日
    088
  • Unity Profiler的使用

    选中Development Build、Autoconnect Profiler和Script Debugging三个选项,如下图所示。 点击Build And Run按钮,将会编…

    Linux 2023年6月7日
    085
  • Linux ARMv7架构通用中断流程(1)【转】

    一、ARMv7 Cortex-A系列处理器寄存器组介绍及其功能介绍 1. ARMv7 Cortex-A处理器一般共有37寄存器,其中包括: (1) 31个通用寄存器,包括PC(程序…

    Linux 2023年6月8日
    073
  • vscode shellArgs.windows参数如何设置使得powershell终端字符集编码为UTF-8?

    网上的大部分是这个答案: “terminal.integrated.shellArgs.windows”: [“-NoExit”, “/c”, “chcp 65001”] 如果你觉…

    Linux 2023年6月13日
    094
  • Redis

    一、Redis的介绍 什么是Redis Redis是一个开源的使用ANSI C语言编写Key-Value内存数据库 读写性能强,支持多种数据类型 把数据存储在内存中的高速缓存 Re…

    Linux 2023年6月14日
    079
  • 【Example】C++运算符重载

    首先,阅读之前要先搞清楚什么是运算符、函数重载。函数重载就是在一个范围内为一个函数声明多个实现方式,函数名必须一致。 那么C++运算符是否可以重载呢?可以!先弄清什么时候需要进行运…

    Linux 2023年6月13日
    0105
  • Linux 配置 IPv4或 IPv6地址

    Linux 配置 IPv4或 IPv6地址 配置 配置介绍 查看网络 ifconfig 网卡介绍 eth0 :本地网卡(CentOS7 是ens33) lo :内网网卡,管理内网I…

    Linux 2023年6月6日
    085
  • 03-MySQL事务

    数据库事务 1、事务特性 1.1、原子性 即不可分割性,事务要么全部被执行,要么就全部不被执行 1.2、一致性 事务的执行使得数据库从一种正确状态转换成另一种正确状态 1.3、隔离…

    Linux 2023年6月7日
    076
  • 深入理解linux内核-内存寻址

    逻辑地址:由一个段和偏移量组成的地址线性地址(虚拟地址):物理地址:CPU的物理地址线相对应的地址32或36位 多处理器系统中每个CPU对应一个GDT 局部线程存储:用于线程内部的…

    Linux 2023年6月6日
    076
  • 正则表达式测试

    本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。 博主…

    Linux 2023年6月13日
    081
  • B站学习斯坦福大学Swift 语言教程 iOS11 开发【第一集】踩到的几个坑(XCode 13.2.1版本)

    在Xcode 13.2.1 中,找不到从哪里拖拽添加button控件 Xcode13起,添加UI控件需要点击右上方的➕号 button的title属性设置成ghost的emoji后…

    Linux 2023年6月13日
    097
  • RPA工单查询和下载流程机器人

    bash;gutter:true;1、登录业务系统,输入用户名和密码2、进入下载模块3、输入下载查询条件4、进入文件明细单5、下载文件视频地址:https://www.bilibi…

    Linux 2023年6月7日
    0140
  • 【设计模式】Java设计模式-原型模式

    【设计模式】Java设计模式 – 原型模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆原创作品,更多关注我CSDN: 一个…

    Linux 2023年6月6日
    0113
  • [apue] 标准 I/O 库那些事儿

    标准 IO 库自 1975 年诞生以来,至今接近 50 年了,令人惊讶的是,这期间只对它做了非常小的修改。除了耳熟能详的 printf/scanf,回过头来对它做个全方位的审视,看…

    Linux 2023年6月6日
    0128
  • FusionAccess桌面云安装(windows AD方法)

    创建FusionAccess虚拟机 选择自定义 默认兼容 选择稍后安装操作系统 选择Linux SUSE Linux 名字位置自己选择 选择最少4个处理器 选择最少8G内存 选择仅…

    Linux 2023年6月8日
    0103
  • linux设备模型及实例

    1.linux设备模型基本概念 BUS(总线):用于关联设备和驱动,代表一个实际的物理总线(如USB、PCI bus)或虚拟总线(如platform bus),总线会提供与总线相关…

    Linux 2023年6月6日
    097
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球