작성
·
200
0
질문 1.
SELECT SupplierID
, CategoryID
, AVG(Price) AS avg_price
FROM PRODUCTS
GROUP BY SupplierID, CategoryID
GROUP BY를 부분을 수강하다가 Advanced 질문이 생겼습니다.
1) SupplierID 별로 avg_price를 내림차순으로 보여지게 출력
- 예를들면 supplierID 가 4인 행들은 avg_price 가 97-> 31 -> 10 순서로 보이도록요
2) 각 SupplierID 별로 categoryID상관없이 MAX(avg_price)를 출력
- SupplierID = 1 이면, 18.5 , Supplier ID =2 이면 20.35, SupplierID = 3 이면 32.5, Supplier ID = 4이면 97
이런식으로 각 SupplierID 마다 avg_price가 MAX 인 값을 뽑고 싶습니다
위 1), 2)의 경우는 어떻게 코드를 작성하면 가능할까요?
답변 1
0
안녕하세요 heeya님,
첫번째 문의 주신 내용은 아래와 같이 쿼리 작성하시면 됩니다.
SELECT SupplierID
, CategoryID
, AVG(Price) AS avg_price
FROM PRODUCTS
GROUP BY SupplierID, CategoryID
ORDER BY SupplierID ASC, avg_price DESC
두번째 문의 주신 내용은 서브쿼리 또는 윈도우 펑션을 이용하셔야 하는 부분이라 관련 내용 찾아보시면 좋을 것 같습니다. 또한 해당 내용은 SQL 시리즈 고급반에서 다루고 있는 내용이니 혹시 수강하게 되신다면 수강 후 다시 질문 주시면 답변 드리도록 하겠습니다.
궁금증이 해결되셨길 바랍니다.