티스토리 뷰

https://programmers.co.kr/learn/courses/30/lessons/77487

 

🐢 설명

헤비유저의 게시글을 id기준으로 정렬하여 게시글을 조회하는 쿼리를 만들면 된다.

  • 헤비유저 : 게시글을 2개 이상 등록한 host

쿼리문을 짤때는 잘 분리해서 보면된다.

  1. places테이블에서 게시글을 조회한다.
  2. id를 기준으로 정렬한다.
  3. 헤비유저가 등록한 게시글만
1) 먼저 1번 쿼리를 짜보자.
select *
from places;
2) 여기서 id를 기준으로 정렬해보자.
select *
from places
order by id asc;
-- 여기서 헤비유저의 글만 조회해야 된다.
+ where 호스트 in (헤비유저)
3) 헤비 유저의 게시글만 조회하는데, 먼저 헤비 유저를 구하자.
-- host_id를 기준으로 묶음
select host_id
from places
group by host_id;

-- host_id로 묶었을 때 2개 이상의 게시글이 있는 경우만 조회
select host_id
from places
group by host_id
having count(id) >= 2;
4) 이제 각각의 쿼리를 합친다 : id를 기준으로 게시글을 조회하는 쿼리 + 헤비유저인 호스트만 조회
select *
from places
where host_id in (
    select host_id
    from places
    group by host_id
    having count(id) >= 2
)
order by id asc;

 

🐢코드
select *
from places
where host_id in (
    select host_id
    from places
    group by host_id
    having count(id) >= 2
)
order by id asc;
🐢 마무리
반응형
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday