728x90
https://school.programmers.co.kr/learn/courses/30/lessons/131536
주요 볼 점
여기서 주요 볼 점은 group by 인 듯 하다.
product_id와 user_id를 group으로 묶은 후 이들의 count를 센게 2개 이상일 때만 출력하는 형식이다.
공부 참고 사이트
https://extbrain.tistory.com/56
Group By?
말 그대로 그룹화를 시켜준다 생각하면 된다.
ex)
MySQL에서 유형별로 갯수를 가져오고 싶은데, 단순히 COUNT 함수로 데이터를 조회하면 전체 갯수만을 가져옵니다.
만약 유형별로 갯수를 알고 싶다면 group by를 이용하면 된다.
여기서 중요한 점이 group by를 이용해 그룹화를 시키면 Select해서 가져올 수 있는 컬럼은 group화 한 컬럼 or 집계 함수를 이용한 컬럼 말고는 불가능하다
Having?
where vs having 이라 생각하면 틀린다
where은 그룹을 하기 전에 거는 조건
having은 그룹을 하고 난 결과물에 조건을 거는 것이다.
큰 차이점이 있으니 조심하자
ex)
SELECT type, COUNT(name) AS cnt FROM hero_collection GROUP BY type;
이렇게 하면 추측으로 하면 결과는 type과 count센 결과가 나올것이다.
코드
-- 코드를 입력하세요
SELECT user_id, product_id
from online_sale
group by user_id, product_id
having count(*) >= 2
order by user_id, product_id desc
이렇게 group by를 이용하여 계산을 하자
'DB > MySQL' 카테고리의 다른 글
[Group By] 가격대 별 상품 개수 구하기 (0) | 2023.02.23 |
---|---|
SUM,MAX,MIN - 중복 제거 (0) | 2023.02.22 |
SELECT - 상위 n개 레코드 구하기 (0) | 2023.02.22 |
SELECT - 12세 이하인 여자 환자 목록 출력하기 (0) | 2023.02.22 |
SELECT - 오프라인/온라인 판매 데이터 통합하기 (0) | 2023.02.22 |
댓글