MySQL での部分文字列インスタンスのカウントと数による順序付け
MySQL で、文字列カラム内の部分文字列の出現数を見つけて順序付けするそのカウントに基づく結果は、文字列操作と集計関数を組み合わせて取得できます。この課題に対処するために、解決策を詳しく見てみましょう:
以下のクエリは、CHAR_LENGTH() 関数と REPLACE() 関数を利用して部分文字列の出現数を計算します:
SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
Toさらに結果を部分文字列数の降順に並べ替えるには、次の行を追加します:
ORDER BY cnt DESC
これにより、部分文字列の出現数によって並べ替えられたデータが表示され、最大数が最初に表示されます。
このクエリの使用例:
SELECT host, (CHAR_LENGTH(host) - CHAR_LENGTH(REPLACE(host, 'l', ''))) / CHAR_LENGTH('l') AS cnt FROM user ORDER BY cnt DESC
このクエリは、ユーザー テーブルからすべての一意のホストを取得し、各ホスト内の部分文字列 'l' の出現をカウントし、結果をカウント順に並べて表示します。先頭に「l」が最も多く出現するホスト。
以上がMySQL で部分文字列の出現をカウントし、カウント順に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。