inflearn logo
강의

Course

Instructor

Young-han Kim's Introduction to Practical Databases - SQL First Steps for All IT Professionals (Step-by-Step from SQL)

Problems and Solutions

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

67

작성자 없음

0 asked

0

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

 

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

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

MAX(price),

MIN(price)

FROM order_stat;

이것인데,

 

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

 

 

sql mysql dbms/rdbms SQLD

Answer 1

0

communityai8509

안녕하세요, 인프런 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에 날리는 쿼리는 최대한 간단하게 하라는 의미

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

교재 p.31 실행순서 오류?

0

108

2

sql서버가 켜지면 다시 꺼짐

0

108

2

INSERT INTO 관련 질문

0

86

1

MySQL 설치 질문 드립니다.

0

144

2

mysql화면 오류

0

90

1

NOT NULL과 DEFAULT 조건의 사용법

0

105

1

mysql 버전

0

94

1

정말 별 거 아니긴 한데요

0

135

2

논리적 실행 순서에서 SELECT 설명 질문

0

87

2

primary key는 테이블 당 하나만 존재할 수 있다?

0

109

1

노트앱 어떤 거 쓰시나요?

0

145

1

drop과 truncate

0

87

1

db 공부관련 질문

0

128

2

GROUP BY 에서 ORDER BY 를 사용했을 때 오류

0

114

1

오타 제보

0

82

1

GROUP BY 강의 중 ORDER BY에 관한 질문

0

91

1

문제5번 - 함수 코드 중복 방지를 위한 방법 중 서브쿼리와 CTE의 차이

0

120

1

order 테이블 생성이 안되네요

0

121

4

ifnull()과 default 차이

0

95

1

help me 도와주세요 MySQL 설치 pls 급해요

0

149

2

DB 설계편 예상 출시일

0

154

2

강의 내용

0

106

1

오류 원인

1

101

3

개발자 취준

0

244

2