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)

大家都在看

  • K8s-二进制安装

    K8S-二进制安装使用 1.IP总规划 服务类型 ip地址 组件 k8s-master01 etcd集群节点1 192.168.80.20 kube-apiserver、kube-…

    Linux 2023年6月13日
    0100
  • 6.19(junit–>在maven和Spring中的使用)

    写文章要不忘初心,今天也要继续努力~ 白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因…

    Linux 2023年6月7日
    0106
  • python 内置模块

    #!/usr/bin/env python -*- coding:utf-8 -*- import time #时间模块 print(time.time())#当前时间戳 #本地时…

    Linux 2023年6月13日
    081
  • Django补充

    django配置文件相关操作 django实际上有两个配置文件 一个是提供给用户可以自定义的基本配置 from 项目名 import settings 一个是全局的系统默认的配置 …

    Linux 2023年6月7日
    0111
  • 网络设备配置–6、通过RIP协议配置动态路由

    一、前言 同系列前几篇:网络设备配置–1、配置交换机enable、console、telnet密码网络设备配置–2、通过交换机划分vlan网络设备配置&#8…

    Linux 2023年6月8日
    0106
  • Docker搭建Redis Cluster集群及扩容和收容

    上一篇文章讲解了Redis集群原理及搭建,由于工作中使用docker较多,本文主要讲解使用docker搭建集群及对集群的扩展收容。环境:Centos7.6Docker:20.10….

    Linux 2023年6月13日
    084
  • Zabbix 使用心得总结

    zabbix 使用中部分功能总结1、监控采集的值(如磁盘空间、流量数据等)无需脚本进行单位转换,zabbix可自动转换为合适的单位 如采集的字节可自动转换为KB、MB 如果设置了单…

    Linux 2023年6月14日
    0156
  • MobaXterm左侧没有文件列表,没有SCP,不显示文件夹问题处理

    一般情况是你设置的session属性问题,具体做法是右键你的session,选edit session,SSH 如下图: 选择 SFTP protocol 并勾选 Follow S…

    Linux 2023年5月27日
    0150
  • ELK-企业级日志分析系统

    ELK 企业级日志分析系统 1.常见日志处理方式 rsyslog: Ryslog是一个强大而安全的日志处理系统。Rsylog通过多个物理或虚拟服务器在网络上接收日志,并监视不同服务…

    Linux 2023年6月13日
    095
  • SQL87 最差是第几名(一)

    本题链接表结构如下所示。 +——-+——–+| grade | number |+——-+&#8…

    Linux 2023年6月13日
    093
  • LeetCode-补充题9. 36进制加法

    题目来源 题目详情 36进制由0-9,a-z,共36个字符表示。 要求按照加法规则计算出任意两个36进制正整数的和,如1b + 2x = 48 (解释:47+105=152) 要求…

    Linux 2023年6月7日
    0105
  • SpringBoot——自定义Redis缓存Cache

    SpringBoot自带Cache存在问题: 1.生成Key过于简单,容易冲突 默认为cacheNames + ":" + Key2.无法设置过期时间,默认时间…

    Linux 2023年5月28日
    0104
  • 如何使用 Javascript 将图标字体渲染为图片

    前言 在软件开发中肯定要用到图标,比如下图的 Groove 音乐中就用到了许多图标。一种获取这些图标的方法是把 Groove 音乐截个图,然后熟练地开启 Photoshop,开始抠…

    Linux 2023年6月7日
    0111
  • 红警快捷键图示

    最近,实验室的同学们 周末偶尔会玩一玩红警,回忆一下童年,挺愉快的。下面记录一下快捷键,方便操作; 看到B站上红警08,还有对应的快捷键教学视频,也可以直接学习一下; https:…

    Linux 2023年6月14日
    0133
  • 简单动态页面的爬取

    ch6&7 动态渲染页面的爬取 ajax数据爬取 动态渲染页面的爬取 selenium的使用 splash的使用 1. ajax数据爬取 ajax数据的爬取主要依靠分析XH…

    Linux 2023年6月7日
    0105
  • CTF中的一些图形密码

    1.传统猪圈密码 猪圈密码又称为亦称朱高密码、共济会暗号、共济会密码或共济会员密码;是一种以特定符号来替换字母的加密方式在线解密网址:http://moersima.00cha.n…

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