Inflearn brand logo image

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)

문제와 풀이

7.SQL - 집계와 그룹핑 : 문제와 풀이에서 2번문제

작성

·

18

0

문제2 : 쇼핑몰 매출 현황 파악하기 에서 '평균 주문 금액'을 구하는것에 질문이 있습니다.

 

제가 생각한 답은
SELECT SUM(price*quantity) ,

SUM(price*quantity)/COUNT(*),

MAX(price),

MIN(price)

FROM order_stat;

이것인데,

 

강의에서는 AVG를 이용해서 하셨는데, 혹시 실무에서는 어떻게 구할까요?

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 원도윤님.

‘평균 주문 금액’을 구하는 방법에 대한 질문에 대해 답변드리겠습니다.

실제 쿼리를 작성할 때는 AVG 함수를 사용하는 것이 더 직관적이고 간단한 방법입니다. AVG 함수는 SQL에서 평균을 계산하기 위해 설계된 함수로, 사용하기도 쉽고 가독성 측면에서도 좋습니다. 실무에서도 AVG 함수를 주로 사용합니다. 예를 들어:

SELECT AVG(price * quantity) AS average_order_value
FROM order_stat;

이는 price * quantity의 평균을 직접 계산해주기 때문에, 실수의 여지가 적고 코드가 깔끔하게 보입니다.

하지만, 특별한 경우에는 SUM(price * quantity) / COUNT(*)로 평균을 계산하는 방법을 사용할 수도 있습니다. 예를 들면, 전체 레코드 수 중 특정 조건에 맞는 레코드만 포함하여 평균을 구하고 싶다거나, 더 복잡한 계산을 위해 중간 데이터를 필요로 하는 경우입니다. 다만, 이 방식은 모든 조건을 명확히 정의해야 하기 때문에 실수를 유발할 수 있습니다.

결론적으로, 단순한 평균 계산은 AVG를 사용하는 것이 좋으며, SUM/COUNT 방식은 특별한 요구사항이 있을 때 사용될 수 있습니다.

관련 질문으로 더 알아보고 싶다면 아래 링크를 참조해보세요:
- 쿼리로 어느정도의 연산 레벨까지 허용 하는게 맞을까요?
- db에 날리는 쿼리는 최대한 간단하게 하라는 의미

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기