본문 바로가기
SQL/chat GPT랑 같이 하는 SQL

[Chat GPT랑 같이 하는 SQL 공부] - 데이터 집계 (GROUP BY, HAVING)

by 취준생 져니 2024. 10. 30.

오늘은 데이터 집계 (GROUP BY, HAVING)와 관련하여 GPT와 함께 예제를 풀어볼 예정이다.

 

 

전보다 좀 더 구체적인 역할을 제시해주고 회사의 비즈니스에 적합한 예제를 만들어 달라고 부탁해보았다.

 

👉 예제 및 답안

난이도 하


 

 

난이도 중


 

 

난이도 상


 

 

 

👉 회고

- having 절에는 total_sales와 같은 별칭을 사용해서 조건문을 걸 수 있지 않나? 왜 GPT는 별칭을 사용하지 않는걸까 라는 의구심이 들어서 찾아보았다.

 

원래 다른 sql언어에서는 select 절보다 having과 where절이 먼저 사용되기 때문에 select 절에 쓰인 as를 사용할 수 없는게 일반적이나 mysql에서는 예외적으로 사용할 수 있다고 함.

( 하지만, where절에서는 사용 안 됨 )

-> having절에서는 별칭을 통한 조회가 가능하다.

 

 

- sum과 count 혼용하지 말 것, 차이를 명확하게 알기

  현재는 orders 테이블에 각각의 주문 정보가 들어있기 때문에 count를 통해 고유한 고객 수를 계산해야함

  sum : int와 같은 수치형을 합할 때

  count : 문자열의 개수를 합할 때

 

- WHERE을 통해 GROUP BY에서의 불필요한 계산은 최소화해주기