집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 및 PostgreSQL에서 N번째 단어를 추출하고 해당 단어의 발생 횟수를 계산하려면 어떻게 해야 합니까?
MySQL에서 N번째 단어 추출 및 단어 발생 횟수 계산
제시된 질문은 특정 단어를 추출할 수 있는 MySQL 쿼리의 가능성에 관한 것입니다. 텍스트 문자열에서 해당 항목의 발생 횟수를 계산합니다. 제공된 예는 텍스트에서 두 번째 단어를 추출합니다.
Postgres용 쿼리 솔루션
MySQL은 기본적으로 직접 정규식 일치 추출을 지원하지 않지만 PostgreSQL과 같은 다른 데이터베이스는 보다 직접적인 접근 방식을 제공합니다. PostgreSQL에서는 다음 쿼리를 사용할 수 있습니다.
SELECT word, count(*) FROM ( SELECT SPLIT_PART(text, ' ', 2) AS word FROM (SELECT 'THIS IS A TEST' AS text) AS tmp ) AS words GROUP BY word;
이 쿼리는 SPLIT_PART 함수를 사용하여 텍스트를 공백을 기준으로 개별 단어로 분할하고 두 번째 단어를 추출합니다. 결과 테이블은 발생순으로 단어를 그룹화합니다.
MySQL에 대한 해결 방법
MySQL의 경우 직접 정규식 추출이 지원되지 않으므로 다른 접근 방식이 필요합니다. 한 가지 해결 방법은 하위 문자열과 위치 찾기 함수의 조합을 사용하는 것입니다.
SELECT SUBSTRING( text, LOCATE(' ', text) + CHAR_LENGTH(' '), LOCATE(' ', text, ( LOCATE(' ', text) + 1 ) - ( LOCATE(' ', text) + CHAR_LENGTH(' ') ) ) AS word, count(*) FROM (SELECT 'THIS IS A TEST' AS text) AS tmp GROUP BY word;
이 쿼리는 텍스트에서 첫 번째 단어 뒤의 첫 번째 공백 위치를 찾습니다. 그런 다음 이 위치에 공백 길이를 추가하여 두 번째 단어 추출을 시작합니다. 추출된 부분 문자열의 길이는 다음 공백을 찾아 시작 위치를 뺀 값으로 계산됩니다.
이 방법은 서로 다른 n번째 단어를 추출하기 위해 조정이 필요합니다.
위 내용은 MySQL 및 PostgreSQL에서 N번째 단어를 추출하고 해당 단어의 발생 횟수를 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!