programing

용어가 나타날 경우 용어가 나타나는 횟수를 카운트하는 SQL 쿼리

mytipbox 2023. 8. 26. 16:17
반응형

용어가 나타날 경우 용어가 나타나는 횟수를 카운트하는 SQL 쿼리

용어가 나타나는 경우에만 나타나는 횟수를 계산해야 합니다.

테이블은 다음과 같이 구성되어 있습니다.

document | term
a0000001 | n/a
a0000001 | for
a0000001 | nothing
a0000002 | lux
a0000002 | the
a0000002 | censoring
a0000003 | the
a0000003 | the
a0000003 | and

이 쿼리는 각 문서에 나타나는 용어 수를 반환합니다.

SELECT document, COUNT(term) AS term_count
FROM documentsx
WHERE term="the"
GROUP BY document;

document | term
a000002  | 1
a000003  | 2

그리고 이 쿼리는 일치하는 용어가 나타나는지 여부를 알려줍니다.

SELECT document, SUM(CASE WHEN term='the' THEN 1 ELSE 0 END) AS "the"
FROM documentsx
GROUP BY documents;

document | the
a000001  | 0
a000002  | 1
a000003  | 1

이 두 가지 쿼리를 결합하여 다음과 같은 정보를 얻을 수 있는 방법을 찾고 있습니다.

document | the
a000001  | 0
a000002  | 1
a000003  | 2

마리아DB를 사용하고 있습니다.

저는 MariaDB에 익숙하지 않지만 SQL Server에서 UNION을 사용하여 당신이 원하는 결과를 얻을 수 있었습니다.

언급URL : https://stackoverflow.com/questions/23145262/sql-query-to-count-the-number-of-times-a-term-appears-if-the-term-appears

반응형