JOIN이 어색했을 시절
풀다가 포기한 문제
우선 이렇게 풀었다
WHERE절에서 오류가 나서 서브쿼리로 처리함
근데 너무 비효율적인거 같아서
뤼튼에게 물어보고 다른 방법을 찾았다
SELECT WRITER_ID, NICKNAME, TOTAL_SALES
FROM
(SELECT USED_GOODS_BOARD.WRITER_ID, USED_GOODS_USER.NICKNAME, sum(USED_GOODS_BOARD.PRICE) as "TOTAL_SALES"
FROM USED_GOODS_BOARD JOIN USED_GOODS_USER ON USED_GOODS_BOARD.WRITER_ID = USED_GOODS_USER.USER_ID
WHERE USED_GOODS_BOARD.STATUS = "DONE"
GROUP BY WRITER_ID) A
WHERE TOTAL_SALES >= 700000
ORDER BY TOTAL_SALES ASC;
그것은 바로 HAVING절을 사용하는 것
HAVING은 잘 사용해보지 않아서 어색했다
WHERE절에서는 연산자가 적용이 안되기 때문에
그럴때 HAVING을 쓰면 된다고 뤼튼이 알려줬다
순서는 GROUP BY 뒤에!
SELECT USED_GOODS_BOARD.WRITER_ID, USED_GOODS_USER.NICKNAME, sum(USED_GOODS_BOARD.PRICE) as "TOTAL_SALES"
FROM USED_GOODS_BOARD JOIN USED_GOODS_USER ON USED_GOODS_BOARD.WRITER_ID = USED_GOODS_USER.USER_ID
WHERE USED_GOODS_BOARD.STATUS = "DONE"
GROUP BY WRITER_ID
HAVING sum(USED_GOODS_BOARD.PRICE) >= 700000
ORDER BY TOTAL_SALES ASC;
오늘도 한발짝 나아갔구만
출처 : 프로그래머스
'코딩테스트' 카테고리의 다른 글
[프로그래머스] [SQL] 취소되지 않은 진료 예약 조회하기 (0) | 2023.12.13 |
---|---|
[프로그래머스] [SQL] 5월 식품들의 총매출 조회하기 (2) | 2023.12.06 |
[프로그래머스] [SQL] 카테고리 별 도서 판매량 집계하기 (0) | 2023.12.02 |
[프로그래머스] [SQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.11.27 |
[프로그래머스] [SQL] 중성화 여부 파악하기 (0) | 2023.11.24 |