mysql 計算 一個文字欄位的內容一個文字出現的次數

linuxMr 發表於 2021-09-26
MySQL

問題:
如何統計一個text欄位內容中某個字或者詞語出現的次數
解決思路:
使用mysql 的內建函式計算 ; 當前需求用到的函式是length 計算字串的長度 ; replace 替換內容的欄位 ;
譬如 我想統計 資料表dl_data_list_1 中tag_content 內容中 B-date 出現次數 只需要寫出下面的sql 就可以達到目的
SQL語句:

SELECT
(LENGTH( tag_content ) - 
LENGTH(REPLACE( tag_content, 'B-date', '' )))/ LENGTH( 'M-date' ) AS num,
    tag_content 
FROM
    dl_data_list_1 
WHERE
    id = 1205946;

原因 : 先通過length 函式獲取原欄位內容的長度 num1 , 將目標欄位通過replace欄位替換成空,在獲取替換後的內容長度num2,(num1-num2)/目標欄位的長度,就是欄位在文字內容出現的次數;
感謝觀看,有錯誤的地方 望及時提醒我糾正,謝謝
QQ:
1343228029;
Wechat:
mysql  計算 一個文字欄位的內容一個文字出現的次數
訂閱號:
mysql  計算 一個文字欄位的內容一個文字出現的次數

本作品採用《CC 協議》,轉載必須註明作者和本文連結