MySQL獲取一行資料有多少個字段為空

2021-09-25 14:06:28 字數 636 閱讀 9866

簡介

今天po(產品)要獲取一些資料進行分析,要求是在乙個店鋪表裡面獲取大部分有資料的店鋪。???是不是有點懵?

好的,我拋開業務層面來為大家解析一下:乙個表裡面,11個字段,獲取空欄位小於4個的資料。

開始

我們要獲取的是字段不為空的數量(看數量是否大於4,大於則滿足,小於則不滿足)所以可以將每個字段是否為空看做0或者1。0和1 最後相加,得出來的就是不為空的字段數量

我們如何判斷是0還是1?答:mysql有提供乙個if函式。具體用法如下

`if`(條件, 是, 否) # 類似於三目運算子

eg:if(2>1, 1, 0) # 結果為1

最後應該知道如何得到欄位為空的個數了吧

if (欄位1 = '', 0, 1) + if (欄位2= '', 0, 1) + ...

eg:select (if (name = '', 0, 1) + if (phone= '', 0, 1)) as rs from user; # 即可看到結果,可自行嘗試

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

mysql 一行資料拆分多行

查詢出被逗號分隔字段需要拆分的最大數量 select max length 逗號分隔的字段 length replace 逗號分隔的字段,1 from 處理表 where 條件 建立一張臨時表用於聯合查詢,方便把處理表單行記錄分隔為多行 create temporary table incre ta...

mysql 鎖住一行資料 MySQL 鎖

鎖的由來 我們需要最大程度地利用資料庫的併發訪問,還需要確保每個使用者以一致性的方式讀取和修改資料,為解決此問題,有了鎖的機制 innodb 儲存引擎相對比mysql 資料庫的其他儲存引擎在這方面要技高一籌 mysql 常用引擎 innodb myisam memory 鎖機制用於管理對共享資源的併...

輸入一行字元,統計其中有多少個單詞

0 是字串的結束符,任何字串之後都會自動加上 0 初始時定義乙個有100個char型字元儲存空間的陣列,使用gets 函式輸入一行字串,儲存在前面定義的陣列中。之後由於不清楚陣列裡有多少個字元被占用,所以使用while迴圈,只要當前陣列元素不是 0 就執行迴圈內容。定義乙個word變數,初始化為1。...