首頁 > 資料庫 > mysql教程 > MySQL中如何統計子字串出現次數並依頻率排序?

MySQL中如何統計子字串出現次數並依頻率排序?

Susan Sarandon
發布: 2024-11-30 05:57:14
原創
846 人瀏覽過

How to Count Substring Occurrences and Order by Frequency in MySQL?

在MySQL 中計算子字串出現次數並依頻率排序

問題:

問題:
  1. 問題:

問題:

您的MySQL資料庫包含一個字串字段,你需要to:
SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
FROM table_name
ORDER BY cnt DESC
登入後複製

計算每個字串中特定子字串的出現次數。

依照子字串出現次數的降序對結果進行排序。
  • 解決方案:
  • 要實現此目的,您可以利用以下方法代碼:

說明:

mysql> select (CHAR_LENGTH('asd') - CHAR_LENGTH(REPLACE('asd', 's', ''))) / CHAR_LENGTH('s');

+-----------------------------------------------------------------+
| (CHAR_LENGTH('asd') - CHAR_LENGTH(REPLACE('asd', 's', ''))) / CHAR_LENGTH('s') |
+-----------------------------------------------------------------+
|                                                          1.0000 |
+-----------------------------------------------------------------+

mysql> select host, (CHAR_LENGTH(host) - CHAR_LENGTH(REPLACE(host, 'l', ''))) / CHAR_LENGTH('l') AS cnt from user;

+-----------+--------+
| host      | cnt    |
+-----------+--------+
| 127.0.0.1 | 0.0000 |
| honeypot  | 0.0000 |
| honeypot  | 0.0000 |
| localhost | 2.0000 |
| localhost | 2.0000 |
+-----------+--------+
登入後複製
CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, '')) 計算子字串的個數str.

CHAR_LENGTH(substr) 中出現的次數為子字串的長度。

cnt 是計算的出現次數的別名。

ORDER BY cnt DESC 子句依子字串出現次數的降序對結果進行排序。 範例用法:注意:此方法可靠,但有一個潛在缺點,即對於大型資料集可能會佔用資源。

以上是MySQL中如何統計子字串出現次數並依頻率排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板