Mengira Kejadian Subrentetan dan Isih mengikut Kejadian (MySQL)
Masalah:
Anda ingin mengira kejadian subrentetan tertentu dalam medan rentetan dalam pangkalan data MySQL. Selain itu, anda perlu menyusun keputusan menurun berdasarkan bilangan kejadian.
Penyelesaian:
Untuk mencapai ini, anda boleh menggunakan yang berikut pertanyaan:
SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt FROM table_name ORDER BY cnt DESC
Penjelasan:
Klausa ORDER BY cnt DESC menyusun keputusan daripada pertanyaan dalam menurun tertib, meletakkan rekod dengan bilangan kejadian subrentetan tertinggi di atas.
Contoh Penggunaan:
Andaikan anda mempunyai jadual yang dipanggil rentetan dengan teks lajur yang mengandungi pelbagai rentetan. Untuk mengira kejadian subrentetan "the" dalam lajur teks dan menyusun keputusan mengikut bilangan kejadian:
SELECT (CHAR_LENGTH(text) - CHAR_LENGTH(REPLACE(text, 'the', ''))) / CHAR_LENGTH('the') AS cnt FROM strings ORDER BY cnt DESC
Atas ialah kandungan terperinci Bagaimana Mengira Kejadian Substring dan Isih Keputusan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!