Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Kejadian Substring dan Keputusan Pesanan mengikut Kekerapan dalam MySQL?

Bagaimana Mengira Kejadian Substring dan Keputusan Pesanan mengikut Kekerapan dalam MySQL?

DDD
DDDasal
2024-11-14 17:55:02526semak imbas

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

Mengira Kejadian Subrentetan dan Keputusan Susunan dalam MySQL

Dalam MySQL, anda boleh mengira kejadian subrentetan dalam medan rentetan dan mengisih keputusan berdasarkan kekerapan kejadian tersebut menggunakan pertanyaan berikut:

SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
...
ORDER BY cnt DESC

Ungkapan ini mengira kiraan subrentetan dengan membahagikan perbezaan antara panjang rentetan asal dan panjang rentetan dengan subrentetan diganti dengan rentetan kosong mengikut panjang subrentetan. Hasilnya kemudian diisih mengikut tertib menurun bagi kiraan.

Contoh:

Pertimbangkan jadual dengan hos lajur yang mengandungi nilai berikut:

'127.0.0.1'
'honeypot'
'honeypot'
'localhost'
'localhost'

Untuk mengira kejadian subrentetan 'l' dalam lajur hos dan menyusun keputusan mengikut kiraan, anda akan menggunakan pertanyaan berikut:

SELECT host, (CHAR_LENGTH(host) - CHAR_LENGTH(REPLACE(host, 'l', ''))) / CHAR_LENGTH('l') AS cnt
FROM user
ORDER BY cnt DESC

Hasilnya ialah:

| host      | cnt    |
|-----------+--------|
| localhost | 2.0000 |
| localhost | 2.0000 |
| honeypot  | 0.0000 |
| honeypot  | 0.0000 |
| 127.0.0.1 | 0.0000 |

Atas ialah kandungan terperinci Bagaimana Mengira Kejadian Substring dan Keputusan Pesanan mengikut Kekerapan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn