SQL

[프로그래머스 | SQL] 조건에 맞는 사용자와 총 거래금액 조회하기 문제 풀이 (Oracle)

DSDiary 2023. 6. 14. 21:20
728x90
반응형
SMALL

 

안녕하세요! 오늘은 프로그래머스 SQL 코딩 테스트 연습 문제 중 '조건에 맞는 사용자와 총 거래금액 조회하기'를 풀어보았습니다.

 

 

 

 

주어진 문제는 완료된 중고 거래의 총 금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총 거래금액을 조회하는 SQL 문을 작성하는 것입니다. 결과는 총 거래금액을 기준으로 오름차순 정렬되어야 합니다.

 

 

 

 

SELECT ugu.USER_ID, ugu.NICKNAME, SUM(ugb.PRICE) AS TOTAL_TRANSACTION_AMOUNT
FROM USED_GOODS_BOARD ugb
JOIN USED_GOODS_USER ugu ON ugu.USER_ID = ugb.WRITER_ID
WHERE ugb.STATUS = 'DONE' 
GROUP BY ugu.USER_ID, ugu.NICKNAME
HAVING SUM(ugb.PRICE) >= 700000 
ORDER BY TOTAL_TRANSACTION_AMOUNT ASC; 
 

 

  • SELECT: SELECT 문은 테이블에서 검색할 열을 지정합니다 (ugu.USER_ID, ugu.NICKNAME 및 SUM(ugb.PRICE) AS TOTAL_TRANSACTION_AMOUNT). 여기서 후자는 USED_GOODS_BOARD 테이블의 PRICE 열 값을 합산하여 총 거래 금액을 계산합니다.
  • FROM: FROM 절은 쿼리에 사용되는 테이블을 지정하며, 이 경우 USED_GOODS_BOARD입니다.
  • JOIN: JOIN 키워드는 USER_ID 및 WRITER_ID 열을 기반으로 USED_GOODS_BOARD 및 USED_GOODS_USER 테이블을 결합하는 데 사용되며, 두 테이블 간의 관계를 설정합니다.
  • WHERE: WHERE 절은 완료된 트랜잭션만 검색하는 ugb.STATUS = 'DONE' 조건에 따라 행을 필터링합니다.
  • GROUP BY: GROUP BY 절은 ugu.USER_ID와 ugu.NICKNAME을 기준으로 결과를 그룹화하여 각 사용자의 총 거래 금액을 계산할 수 있습니다.
  • HAVING: HAVING 절은 총 거래 금액이 700,000보다 크거나 같은 사용자만 검색하는 SUM(ugb.PRICE) >= 700000 조건에 따라 그룹화된 결과를 필터링합니다.
  • ORDER BY: ORDER BY 절은 총 거래 금액에 따라 오름차순으로 결과를 정렬하며, 이 금액은 TOTAL_TRANSACTION_AMOUNT ASC로 지정됩니다.

 

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/164668

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90
반응형
LIST