일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- object detection
- 우선 순위 큐
- 다익스트라
- 알고리즘
- 세그먼트 트리
- 크루스칼
- dropout
- DP
- NEXT
- 백트래킹
- 이분 탐색
- 조합론
- pytorch
- 플로이드 와샬
- lazy propagation
- BFS
- 가끔은_말로
- 너비 우선 탐색
- 분할 정복
- 문자열
- 회고록
- 2023
- tensorflow
- c++
- Overfitting
- 가끔은 말로
- dfs
- 자바스크립트
- back propagation
- 미래는_현재와_과거로
Archives
- Today
- Total
Doby's Lab
Programmers: 상품 별 오프라인 매출 구하기 (MySQL) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/131533
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Level 2
10문제 중 가장 어려운 문제였습니다. GROUP BY
에 대해 쉽게 이해가 가지 않다 보니 어렵게 풀었는데 이에 대해 잘 이해할 수 있도록 하는 자료를 아래에 첨부했습니다.
[순서도]
1. PRODUCT_ID
를 기준으로 PRODUCT
와 OFFLINE_SALE
을 JOIN
한다. -> 이 시점을 하나의 테이블로 생각할 것
2. 그랬을 때, PRODUCT_CODE
를 기준으로 그룹핑하여 SUM(O.SALES_AMOUNT)
을 구한다면 해당 PRODUCT_CODE
에 대한 물품의 총개수를 알 수 있다.
3. 이를 P.PRICE
과 곱하여 SALES
라는 필드를 구할 수 있다.
하나의 테이블에 대한 GROUP BY
였다면, 조금 쉽게 접할 수 있었겠지만, JOIN
을 통해 두 테이블에 대한 GROUP BY
를 진행해야 했기에 조금 어렵게 다가왔던 거 같습니다. 하나의 테이블로 합친 후, GROUP BY
라는 순서도같이 절차를 나누어 생각한다면, 풀 수 있는 문제입니다.
Ref. <GROUP BY
에 대해 간략히 설명이 잘 되어있던 글>
https://needneo.tistory.com/233
SELECT P.PRODUCT_CODE,
SUM(O.SALES_AMOUNT) * P.PRICE AS SALES
FROM PRODUCT AS P
JOIN OFFLINE_SALE O
ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY P.PRODUCT_CODE
ORDER BY SALES DESC, P.PRODUCT_CODE
728x90
'Data Engineering > SQL' 카테고리의 다른 글
TRUNCATE에 대해 (PostgreSQL) (0) | 2023.09.14 |
---|---|
Programmers SQL 고득점 Kit 10 문제 풀이 (0) | 2023.09.03 |
Programmers: 오랜 기간 보호한 동물(1) (MySQL) (0) | 2023.09.03 |
Programmers: 있었는데요 없었습니다 (MySQL) (0) | 2023.09.03 |
Programmers: 없어진 기록 찾기 (MySQL) (0) | 2023.09.03 |