본문 바로가기

algorithm

[programmers] MySQL - Lv.4 식품 분류별 가장 비싼 식품의 정보 조회하기 (group by)

문제

 

 

 

 

풀이

 

SELECT a.category, b.max_price, a.product_name
from food_product a join (select category, max(price) max_price
                          from food_product
                          group by category
                          having category in ('과자', '국', '김치', '식용유')) b
on a.category = b.category and a.price = b.max_price
order by b.max_price desc;

 

 

노트

 

처음 문제를 보고 아무 생각 없이 문제 풀다가 실행이 안되었었다. 

SQL 공부할 때 봤었던 GROUP BY에서 지정한 열 이외의 열은 집계 함수를 사용하지 않은 채 SELECT구에 지정할 수 없다는 내용이 머릿속에서 사라졌었기 때문이다.

오늘 SQL GROUP BY 공부하고 바로 GROUP BY 문제를 풀어보니

 GROUP BY에서 지정한 열 이외의 열은 집계함수를 사용하지 않은 채 SELECT구에 지정할 수 없다  

 

이 내용은 안까먹을 것 같다.

 

[MySQL] 그룹화 - GROUP BY

 

[MySQL] 그룹화 - GROUP BY

[SYNTAX] SELECT * FROM 테이블명 GROUP BY 열 1, 열 2,... GROUP BY로 그룹화를 통해 집계 함수로 넘겨줄 집합을 그룹으로 나눌 수 있고, 집계 함수의 활용 범위를 넓힐 수 있다. GROUP BY구에서는 그룹화할 열을

hyunjin1292.tistory.com