首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中統計子字串的出現次數並按頻率對結果進行排序?

如何在 MySQL 中統計子字串的出現次數並按頻率對結果進行排序?

DDD
發布: 2024-11-14 17:55:02
原創
483 人瀏覽過

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

在MySQL 中統計子字串實例和排序結果

在MySQL 中,您可以統計字串欄位中子字串的出現次數並排序使用以下查詢根據這些出現的頻率得出結果:

SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
...
ORDER BY cnt DESC
登入後複製

此表達式計算通過將原始字符串的長度與用空字符串替換的字符串的長度之間的差除以子字串的長度來計算子字串的數量。然後,結果按計數降序排序。

範例:

考慮一個包含以下值的列主機的表:

'127.0.0.1'
'honeypot'
'honeypot'
'localhost'
'localhost'
登入後複製

要計算主機列中子字串「l 」的出現次數並按計數對結果進行排序,您可以使用以下命令查詢:

SELECT host, (CHAR_LENGTH(host) - CHAR_LENGTH(REPLACE(host, 'l', ''))) / CHAR_LENGTH('l') AS cnt
FROM user
ORDER BY cnt DESC
登入後複製

結果將是:

| host      | cnt    |
|-----------+--------|
| localhost | 2.0000 |
| localhost | 2.0000 |
| honeypot  | 0.0000 |
| honeypot  | 0.0000 |
| 127.0.0.1 | 0.0000 |
登入後複製

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

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