[SQL] 함으로써 그룹 카운트 MYSQL
SQL함으로써 그룹 카운트 MYSQL
나는이 테이블이 :
Movies (ID, Genre)
ID가이 장르에 국한되지 그래서 영화는, 여러 장르를 가질 수 있습니다, 많은 관계로 많은입니다. 나는 쿼리가 정확히 4 장르에서이 영화의 총 수를 찾고 싶어요. 내가 가진 현재 쿼리입니다
SELECT COUNT(*)
FROM Movies
GROUP BY ID
HAVING COUNT(Genre) = 4
그러나,이 반환 나에게 4 개의 대신의 총합의 목록입니다. 어떻게 합계 합계 대신 COUNT (*)의 목록을받을 수 있나요?
해결법
-
==============================
1.한 가지 방법은 중첩 된 쿼리를 사용하는 것입니다 :
한 가지 방법은 중첩 된 쿼리를 사용하는 것입니다 :
SELECT count(*) FROM ( SELECT COUNT(Genre) AS count FROM movies GROUP BY ID HAVING (count = 4) ) AS x
내부 쿼리는 정확히 4 장르, 내부 쿼리가 반환되는 행 수를 한 후 외부 쿼리 수를 가진 모든 영화를 가져옵니다.
-
==============================
2.
SELECT COUNT(*) FROM (SELECT COUNT(*) FROM movies GROUP BY id HAVING COUNT(genre) = 4) t
-
==============================
3.아마도
아마도
SELECT count(*) FROM ( SELECT COUNT(*) FROM Movies GROUP BY ID HAVING count(Genre) = 4 ) AS the_count_total
그 영화의 모든의 합,하지 않을 것이지만 4 개 장르의이 얼마나 많은.
그래서 어쩌면 당신이 원하는
SELECT sum( SELECT COUNT(*) FROM Movies GROUP BY ID having Count(Genre) = 4 ) as the_sum_total
-
==============================
4.이건 어떤가요:
이건 어떤가요:
SELECT COUNT(*) FROM (SELECT ID FROM Movies GROUP BY ID HAVING COUNT(Genre)=4) a
from https://stackoverflow.com/questions/7857538/mysql-count-group-by-having by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 서버 수는 느린 (0) | 2020.06.27 |
---|---|
[SQL] CSV (필요 인용과 이스케이프)에 SQL Server Express의 데이터를 내보내기 (0) | 2020.06.27 |
[SQL] 내림차순 날짜별로 주문 - 월, 일, 년 (0) | 2020.06.27 |
[SQL] 오라클 : SQL 쿼리는 테이블에 속하는 모든 트리거를 찾는 방법은? (0) | 2020.06.27 |
[SQL] SQL 서버에서 OPTION (MAXDOP 1)을 사용하는 목적은 무엇인가? (0) | 2020.06.27 |