반응형
MySQL 발생 횟수가 2를 초과합니다.
나는 다음과 같은 테이블 구조를 가지고 있다.
+ id + word +
+------+--------+
테이블은 특정 텍스트의 소문자로 채워지기 때문에 텍스트는
안녕 안녕 안녕
이 될 것이다
+ id + word +
+------+--------+
+ 1 + hello +
+------+--------+
+ 2 + bye +
+------+--------+
+ 3 + hello +
+------+--------+
테이블에서 두 번 이상 반복되는 단어 수를 반환하는 SELECT 쿼리를 만들고 싶다(hello 등).
SELECT COUNT(id) FROM words WHERE (SELECT COUNT(words.word))>1
테이블이 크면 당연히 잘못되고 과부하죠.어떻게 하면 그런 목적을 달성할 수 있을까?위의 예에서는 1을 상정하고 있습니다.
두 번 이상 나타나는 단어 목록과 단어 발생 빈도를 가져오려면 GROUP BY와 HAVING을 함께 사용합니다.
SELECT word, COUNT(*) AS cnt
FROM words
GROUP BY word
HAVING cnt > 1
위의 결과 집합에서 단어 수를 찾으려면 하위 쿼리로 사용하고 외부 쿼리의 행을 세십시오.
SELECT COUNT(*)
FROM
(
SELECT NULL
FROM words
GROUP BY word
HAVING COUNT(*) > 1
) T1
SELECT count(word) as count
FROM words
GROUP BY word
HAVING count >= 2;
SELECT word, COUNT(*) FROM words GROUP by word HAVING COUNT(*) > 1
HAVING 옵션은 이 목적으로 사용할 수 있으며 쿼리는 다음과 같습니다.
SELECT word, COUNT(*) FROM words
GROUP BY word
HAVING COUNT(*) > 1;
언급URL : https://stackoverflow.com/questions/3937283/mysql-count-occurrences-greater-than-2
반응형
'programing' 카테고리의 다른 글
팬더 DataFrame에서 열의 값이 최대인 행을 찾습니다. (0) | 2023.02.06 |
---|---|
정해진 길이에 도달하기 위해 문자열을 패딩할 수 있는 JavaScript 함수가 있나요? (0) | 2023.02.06 |
PDO:: 10진수 타입의 PARAM? (0) | 2023.02.06 |
**kwargs 인수를 **kwargs를 사용하여 다른 함수에 전달합니다. (0) | 2023.02.06 |
PHPnit을 사용하여 PHP 헤더 테스트 (0) | 2023.02.06 |