> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 하위 문자열 발생을 계산하고 결과를 정렬하는 방법은 무엇입니까?

MySQL에서 하위 문자열 발생을 계산하고 결과를 정렬하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-25 09:40:54
원래의
926명이 탐색했습니다.

How to Count Substring Occurrences and Sort Results in MySQL?

부분 문자열의 인스턴스 수 계산 및 발생 횟수별 정렬(MySQL)

문제:

MySQL의 문자열 필드 내에서 특정 하위 문자열의 발생 횟수를 계산하려고 합니다. 데이터베이스. 또한 발생 횟수에 따라 내림차순으로 결과를 정렬해야 합니다.

해결책:

이를 수행하려면 다음을 사용할 수 있습니다. query:

SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
FROM table_name
ORDER BY cnt DESC
로그인 후 복사

설명:

  • CHAR_LENGTH(str): 이 함수는 문자열 str의 길이를 반환합니다.
  • REPLACE(str, substr, ''): 이 함수는 str에서 모든 substr 항목을 빈 문자열로 대체하여 효과적으로 제거합니다.
  • CHAR_LENGTH(REPLACE(str, substr, '')): 이는 하위 문자열이 제거된 문자열의 길이를 결정합니다.
  • (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))): 원래 문자열에서 수정된 문자열의 길이를 빼서 substr이 나타나는 횟수를 계산합니다.
  • CHAR_LENGTH(substr ): 이는 하위 문자열의 길이를 지정합니다. count.
  • cnt: 계산된 발생 횟수에 대한 별칭입니다.

ORDER BY cnt DESC 절은 쿼리 결과를 내림차순으로 정렬합니다. 순서대로, 하위 문자열 발생 횟수가 가장 많은 레코드를 맨 위에 배치합니다.

예 사용법:

다양한 문자열이 포함된 텍스트 열이 있는 strings라는 테이블이 있다고 가정합니다. 텍스트 열에서 하위 문자열 "the"의 발생 횟수를 계산하고 발생 횟수에 따라 결과를 정렬하려면:

SELECT (CHAR_LENGTH(text) - CHAR_LENGTH(REPLACE(text, 'the', ''))) / CHAR_LENGTH('the') AS cnt
FROM strings
ORDER BY cnt DESC
로그인 후 복사

위 내용은 MySQL에서 하위 문자열 발생을 계산하고 결과를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿