2021-05-31 12:28:51

다음 테이블은 학생의 학점을 보여주고 있습니다. 

 

 

먼저 Group by로 학점별로 그룹을 지어준 후 각 그룹에 속한 학생의 수를 카운트해보겠습니다.

 

SELECT grade, COUNT(*) FROM student GROUP BY grade;

 

 

위와 같은 쿼리를 주면 A학점이 6명, B학점이 7명, ..., F학점 2명임을 한눈에 알 수 있습니다.

 

만약 Group by로 그룹화된 그룹의 갯수를 알고 싶다면 어떻게 해줘야할까요? 즉, 지금 총 6개의 그룹이 있는데 그 6을 알아내고 싶은 것입니다. 이때는 다음과 같이 쿼리를 주면 됩니다. 

 

SELECT COUNT(S.grade) FROM (SELECT grade, COUNT(*) FROM student GROUP BY grade) AS S;

 

 

우리가 알고 싶었던 그룹의 개수 6이 나왔습니다.  

 

관련 글

[MariaDB] GROUP BY 사용 예제(+ Having)