반응형
2보다 큰 MySQL 수 발생
다음과 같은 테이블 구조가 있습니다.
+ 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
참고 URL : https://stackoverflow.com/questions/3937283/mysql-count-occurrences-greater-than-2
반응형
'program story' 카테고리의 다른 글
Ansible로 Linux 환경 변수를 설정하는 방법 (0) | 2020.09.24 |
---|---|
파이썬에서 int ()의 직관적이지 않은 동작 (0) | 2020.09.23 |
Android 외부 저장소에 파일 저장 (0) | 2020.09.23 |
Visual Studio 2012의 모든 설정을 어떻게 재설정합니까? (0) | 2020.09.23 |
SharedPreferences에서 일부 키 / 값 쌍을 제거하는 방법은 무엇입니까? (0) | 2020.09.23 |