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
Lepaskan: 2024-11-14 17:55:02
asal
484 orang telah melayarinya

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
Salin selepas log masuk

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'
Salin selepas log masuk

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
Salin selepas log masuk

Hasilnya ialah:

| host      | cnt    |
|-----------+--------|
| localhost | 2.0000 |
| localhost | 2.0000 |
| honeypot  | 0.0000 |
| honeypot  | 0.0000 |
| 127.0.0.1 | 0.0000 |
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan