문과 코린이의, [C#] 기록/문과 코린이의, [SQL] 기록

[문과 코린이의 IT 기록장] MSSQL - GROUP BY 추가 설명, 다중 그룹

벼리네 2022. 1. 26. 15:35
반응형

[문과 코린이의 IT 기록장] MSSQL - GROUP BY 추가 설명, 다중 그룹

[문과 코린이의 IT 기록장] MSSQL - GROUP BY 추가 설명, 다중 그룹

 


< 참고 강의 영상 >

MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.2 대시보드 - 인프런 | 강의 (inflearn.com)

 

MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.2 - 인프런 | 강의

데이터베이스 구축에서부터 테이블 생성, 각종 SQL 쿼리문을 사용해서 데이터베이스 내 데이터를 조작, 변경할 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

2022.01.21 - [문과 코린이의, [SQL] 기록] - [문과 코린이의 IT 기록장] MSSQL - 비교연산자, 논리연산자

 

[문과 코린이의 IT 기록장] MSSQL - 비교연산자, 논리연산자

[문과 코린이의 IT 기록장] MSSQL - 비교연산자, 논리연산자 < 참고 강의 영상 > MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.2 대시보드 - 인프런 | 강의 (inflearn.com) MSSQL Serve..

vansoft1215.tistory.com

 

 


1. GROUP BY 추가 설명

 * GROUP BY 참고

 

[문과 코린이의 IT 기록장] MSSQL - 집계 함수, GROUP BY / HAVING

[문과 코린이의 IT 기록장] MSSQL - 집계 함수, GROUP BY / HAVING < 참고 강의 영상 > MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.2 대시보드 - 인프런 | 강의 (inflearn.com) M..

vansoft1215.tistory.com

 * 아래 예시 쿼리 내용 (자료) 

 

[문과 코린이의 IT 기록장] MSSQL - 서브 쿼리 : IN 연산자, 상관 서브쿼리, 다중 INSERT 여러 방법, 서

[문과 코린이의 IT 기록장] MSSQL - 서브 쿼리 : IN 연산자, 상관 서브쿼리, 다중 INSERT 여러 방법, 서브쿼리 연습문제, IN, EXISTS 연산자, IN, EXISTS 연산자 연습문제 < 참고 강의..

vansoft1215.tistory.com

 

ex 1) 영화 테이블에서 각 장르별 영화 갯수를 출력하시오.

SELECT genre 영화장르, COUNT(*) 영화수 -- 이를 보고 장르별 GROUP BY를 사용한다는 것을 파악해야함
	FROM dbo.tbl_movie
		GROUP BY genre
		ORDER BY COUNT(*) DESC;

ex 2) GROUP BY를 사용해 2개의 컬럼 묶기

-- GTROUP BY를 사용하여 2개 컬럼 묶기
SELECT release '개봉년도', title '영화제목'
	FROM dbo.tbl_movie
		GROUP BY release, title
		ORDER BY release DESC; -- 최근순

-- 업데이트 후, 결과 재확인 과정
UPDATE dbo.tbl_movie
SET title='기생충'
WHERE id = 10;


2. 다중 그룹

ex 1) 영화 테이블에서 연도별, 장르별 갯수를 출력하시오.

SELECT release, genre, COUNT(*) AS '갯수'
FROM dbo.tbl_movie
GROUP BY release, genre
ORDER BY release DESC; -- 최근순

ex  2) 영화, 음악 두 테이블에서 가수와 감독을 겸직하는 사람의 이름과 곡명을 출력하시오.

SELECT DISTINCT A.title,B.director -- 중복 제거  
FROM dbo.tbl_music AS A, dbo.tbl_movie AS B
WHERE A.singer = B.director
ORDER BY director;
SELECT A.title,B.director
FROM dbo.tbl_music AS A, dbo.tbl_movie AS B
WHERE A.singer = B.director
GROUP BY A.title, B.director -- GROUP BY는 WHERE보다 뒤에 존재해야 함. (묶어주면 기본적으로 중복 제거)
-- 이를 사용했다면, 위에 SEELCT절에 바로 집계함수들을 사용할 수 있음.
ORDER BY director;

* 유의사항
- 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다.
- 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다.
- 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :)
반응형