tak's data blog
PostgreSQL 문제풀이 1 본문
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 |