tak's data blog

PostgreSQL 문제풀이 4 본문

SQL

PostgreSQL 문제풀이 4

hyuntaek 2021. 1. 23. 23:06

이번에도 어김없이 문제풀이를 해보겠습니다!

 

 

 

문제

rental과 customer 테이블을 이용하여 현재까지 가장 많이 rental을 한 고객의 고객id, 렌탈순위, 누적렌탈횟수, 이름을 출력해라.

 

 

 

미리 생각할점으로 우선 고객id를 뽑기위해 두 테이블을 조인한다./ 순위를 구해야한다(분석함수를 써야한다. 집계함수로는 안된다.)

 

 

 

1. rental 테이블을 살펴보자.

 

 

 

2. customer 테이블을 살펴보자.

 

 

 

3. 가장 많이 렌탈을 한 고객을 구한다.

 

 

4. row_number()를 활용해 순위를 구한다.

 

 

 

5. rental_rank를 기준으로 order by를 한다. 그 후 customer테이블과 조인/ group by를 위해서 max를 쓰게 됨.

 

 

 

6.  max를 안쓰고 나타내는 또다른 방법.(결과는 같다.)

 

 

 

유의해야할 점 : 두 테이블간의 공통된 부분을 고려하여 조인을 적용하고 순위를 구해야 함으로 분석함수를 활용해야한다. 그리고 똑같은 결과라도 다양하게 짤 수 있기 때문에 잘 고려해서 작성해야 할 것 같다.

 

 

 

'SQL' 카테고리의 다른 글

PostgreSQL 문제풀이 6  (0) 2021.01.26
PostgreSQL 문제풀이 5  (0) 2021.01.26
PostgreSQL 문제풀이 3  (0) 2021.01.23
PostgreSQL 문제풀이 2  (0) 2021.01.23
PostgreSQL 문제풀이 1  (0) 2021.01.23