다음 테이블은 학생의 학점을 보여주고 있습니다.
먼저 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이 나왔습니다.
관련 글
'DB > SQL' 카테고리의 다른 글
MySQL Workbench에서 DB 서버 버전 확인하는 방법 (0) | 2022.07.07 |
---|---|
[sqlite3] csv 파일을 sqlite로 가져오는 방법 (0) | 2022.06.29 |
[mysql] mysql 서버 버전 확인하기 (0) | 2022.04.25 |
[MariaDB] MariaDB 서버 타임존 변경하기 (0) | 2022.01.09 |
[MariaDB] Order by, 여러 개로 정렬하기 (더 중요한 것을 앞에) (2) | 2021.05.28 |
[MariaDB] SELECT 한 것을 INSERT 하기, INSERT INTO ... SELECT문 (2) | 2021.05.18 |
[MariaDB] 특정 열의 값이 NULL이 아닌 것만 보려면 (2) | 2021.05.17 |
MySQL workbench에서 select로 조회했는데 row들이 잘 안 보일 때 (0) | 2021.05.14 |