반응형
SQL의 WHERE IN 구문을 사용하여 다중 컬럼 필터링 방법을 소개하겠습니다.
다음과 같이 movie_review 테이블을 생성하고 샘플 데이터를 삽입합니다.
CREATE TABLE movie_review (
movie_name VARCHAR(50),
rating VARCHAR(10),
reviewer_id INT
);
INSERT INTO movie_review (movie_name, rating, reviewer_id)
VALUES ('어벤져스', '긍정', 1),
('어벤져스', '긍정', 2),
('인셉션', '부정', 1),
('인셉션', '긍정', 3),
('라라랜드', '부정', 4),
('라라랜드', '긍정', 5),
('보헤미안 랩소디', '긍정', 6),
('보헤미안 랩소디', '부정', 7),
('타이타닉', '긍정', 8),
('타이타닉', '긍정', 9);
샘플 데이터는 총 10개의 레코드로 구성되어 있으며, 영화 이름, 긍정/부정 평가 정보인 rating 컬럼, 그리고 reviewer_id 컬럼을 포함하고 있습니다.
이 데이터는 예시를 위해 만들어진 테이블이므로 참고용으로만 사용해 주시기 바랍니다.
다음과 같은 쿼리를 작성하여 원하는 조건의 데이터를 필터링하고 그룹화합니다.
SELECT
movie_name,
rating,
COUNT(DISTINCT reviewer_id) AS review_cnt
FROM
movie_review
WHERE
(movie_name, rating) IN (
('어벤져스', '긍정'),
('인셉션', '부정')
)
GROUP BY
1, 2;
영화 이름이 '어벤져스'이면서 긍정 평가의 리뷰 개수와, 영화 이름이 '인셉션'이면서 부정 평가의 리뷰 개수를 확인하는 쿼리입니다.
SQL WHERE IN을 이용한 다중 컬럼 활용을 통해 여러 조건을 한 번에 필터링하여 데이터를 추출하고 집계할 수 있습니다.
반응형
'Skills > SQL' 카테고리의 다른 글
[SQL]지난 30일간 일별 평균 주문건수 확인하기 (0) | 2023.04.05 |
---|---|
[SQL] 다른 테이블의 데이터를 추가하는 방법 (0) | 2023.03.31 |
이번 달과 지난 달에 속한 쿠폰 슬롯 수 분석하기 (0) | 2023.03.28 |
SQL 활용 쿠폰 프로모션 효과 분석: 전체 주문 대비 쿠폰 사용률 살펴보기 (0) | 2023.03.27 |
PostgreSQL에서 JSON 데이터 추출하기 (0) | 2023.03.26 |