欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL获取一行数据有多少个字段为空

程序员文章站 2022-04-05 18:58:24
...

简介

今天PO(产品)要获取一些数据进行分析,要求是在一个店铺表里面获取大部分有资料的店铺。???是不是有点懵?
好的,我抛开业务层面来为大家解析一下:一个表里面,11个字段,获取空字段小于4个的数据。

是不是明白了什么意思了,但还是很懵逼,无头绪,哪有这样的?并且,据我多年的工作经验,好像MySQL并没有处理这样逻辑的函数啊。但是,方法总比困难多!接下来我为大家分享一下自己的解题思路:

开始

  1. 我们要获取的是字段不为空的数量(看数量是否大于4,大于则满足,小于则不满足)所以可以将每个字段是否为空看做0或者1。0和1 最后相加,得出来的就是不为空的字段数量
  2. 我们如何判断是0还是1?答:MySQL有提供一个IF函数。具体用法如下
`IF`(条件, 是, 否) # 类似于三目运算符
eg:IF(2>1, 1, 0) # 结果为1
  1. 最后应该知道如何得到字段为空的个数了吧
IF (字段1 = '', 0, 1) + IF (字段2= '', 0, 1) + ...
eg:select  (IF (name = '', 0, 1) + IF (phone= '', 0, 1)) as rs  from user; # 即可看到结果,可自行尝试

祝:每一位心想事成!加油,方法总比困难多!!!