-
SQL - group by 연산자SQL 정리 2024. 4. 22. 21:49
코딩테스트 연습 - 주문량이 많은 아이스크림들 조회하기 | 프로그래머스 스쿨 (programmers.co.kr)
select flavor from (select fh.flavor, sum(j.total_order) +fh.total_order as `to` from july j left join first_half fh using(shipment_id) group by j.flavor order by 2 desc limit 3) a
개선안
select fh.flavor_order as `to` from july j inner join first_half fh using(shipment_id) group by j.flavor order by sum(j.total_order) +fh.total desc limit 3 SELECT J.FLAVOR FROM ( SELECT SHIPMENT_ID, FLAVOR, SUM(TOTAL_ORDER)AS TOTAL_ORDER FROM JULY GROUP BY FLAVOR ) AS J LEFT JOIN FIRST_HALF F ON J.FLAVOR = F.FLAVOR GROUP BY J.FLAVOR ORDER BY (J.TOTAL_ORDER + F.TOTAL_ORDER) DESC LIMIT 3
밑엣걸 보고 위엣걸 만들었는데
개선하고자 하였던 것은 2가지이다.
1. 7월 매출의 flavor는 상반기 매출 flavor의 외래키이다.
2. order by 에서 계산식적용이 가능하다
오류인 부분
2 -> group by 이후에 order by 에 sum 연산자를 사용함.
group 사용하는 연산자(함수)
'SQL 정리' 카테고리의 다른 글
SQL - Recursive CTE (3) 2024.04.24 SQL - UNION (0) 2024.04.23 SQL - ' ' / " " / ` ` (0) 2024.04.18 SQL - With - CTE (0) 2024.04.18 SQL - field vs column (0) 2024.04.09