>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 하위 문자열 발생 횟수 및 순서를 계산하는 방법은 무엇입니까?

MySQL에서 하위 문자열 발생 횟수 및 순서를 계산하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-14 15:16:02433검색

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

MySQL에서 하위 문자열 인스턴스 계산 및 개수별 정렬

MySQL에서 문자열 열 내에서 하위 문자열의 발생 횟수를 찾아 정렬 해당 개수를 기반으로 한 결과는 문자열 조작과 집계 함수의 조합을 통해 얻을 수 있습니다. 이 문제를 해결하기 위해 솔루션을 자세히 살펴보겠습니다.

아래 쿼리는 CHAR_LENGTH() 및 REPLACE() 함수를 활용하여 하위 문자열 발생 횟수를 계산합니다.

SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
  • CHAR_LENGTH(str)은 전체 길이를 결정합니다. string.
  • CHAR_LENGTH(REPLACE(str, substr, ''))는 하위 문자열의 모든 인스턴스를 빈 문자열로 바꾼 후 문자열의 길이를 계산하여 사실상 하위 문자열이 없는 문자열의 길이가 됩니다.
  • 전자에서 후자를 빼고 하위 문자열의 길이로 나누어 하위 문자열의 개수를 구합니다.

하위 문자열 개수의 내림차순으로 결과를 추가로 정렬하려면 다음을 추가하세요.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.