tak's data blog

PostgreSQL 문제풀이 1 본문

SQL

PostgreSQL 문제풀이 1

hyuntaek 2021. 1. 23. 22:16

SQL을 공부하면서 문제풀이를 공유하고자 합니다. 나아가서 나중에는 직접 데이터를 가져와 문제 풀이 내용을 바탕으로 실습해볼 예정입니다!!

 

 

 

문제

payment 테이블에서 단일 거래의 amount의 액수가 가장 많은 고객들의 customer_id를 추출해라. 

단, customer_id의 값은 유일.

 

 

 

1. payment 테이블의 구조를 살펴본다.

테이블을 살펴본 후 한꺼번에 생각하지 말고 차례대로 나눠서 생각해보자

 

 

 

2. 전체 거래 중 amount의 액수가 가장 큰 amount를 구한다.

첫번째로 desc를 써 내림차순으로 한 후 limit 1을 정해 가장 큰 amount를 구합니다.

 

 

 

3. payment 테이블에서 가장 큰 amount를 가진 customer_id를 구하고 중복을 제거한다.

where절에서 서브쿼리를 사용한 후 alias를 지정해주고 distinct를 사용해서 중복을 제거한 뒤 유일한 값을 뽑아냅니다.

 

 

 

유의해야할 점 : distinct와 서브쿼리를 잘 활용하고 alias를 지정해 보기좋게 만드는 점이 중요한 것 같다.

'SQL' 카테고리의 다른 글

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