Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Kejadian Substring dan Isih Keputusan dalam MySQL?

Bagaimana Mengira Kejadian Substring dan Isih Keputusan dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-25 09:40:54948semak imbas

How to Count Substring Occurrences and Sort Results in MySQL?

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:

  • CHAR_LENGTH(str): Fungsi ini mengembalikan panjang rentetan str.
  • GANTI(str, substr, ''): Fungsi ini menggantikan semua kejadian substr dalam str dengan rentetan kosong, dengan berkesan mengalih keluarnya.
  • CHAR_LENGTH(REPLACE(str, substr, '')): Ini menentukan panjang rentetan dengan subrentetan dialih keluar.
  • (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))): Ini mengira bilangan kejadian substr dengan menolak panjang rentetan yang diubah suai daripada rentetan asal.
  • CHAR_LENGTH(substr ): Ini menentukan panjang subrentetan ke kiraan.
  • cnt: Ini adalah alias untuk bilangan kejadian yang dikira.

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!

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