728x90
반응형
월별 평균 건수를 계산하려면, 특정 테이블에서 월별로 데이터를 그룹화하고 그에 따른 건수를 계산한 후 평균을 구하는 쿼리를 사용할 수 있습니다.
예를 들어, orders 테이블에서 각 월에 발생한 주문 수를 기준으로 평균 건수를 구하는 쿼리를 작성할 수 있습니다.
예제 테이블
- orders 테이블
- order_id: 주문 ID
- order_date: 주문 날짜
쿼리 예제
아래와 같이 각 월에 대한 평균 건수를 구할 수 있습니다.
SELECT
DATE_FORMAT(order_date, '%Y-%m') AS order_month,
COUNT(order_id) AS total_orders,
AVG(COUNT(order_id)) OVER () AS avg_monthly_orders
FROM orders
GROUP BY DATE_FORMAT(order_date, '%Y-%m')
ORDER BY order_month;
설명
- DATE_FORMAT(order_date, '%Y-%m'): 날짜를 연-월 형식(YYYY-MM)으로 변환하여 월 단위로 그룹화합니다.
- COUNT(order_id): 월별 주문 수를 계산합니다.
- AVG(COUNT(order_id)) OVER (): 전체 월에 대한 평균 건수를 계산합니다. OVER () 구문은 윈도우 함수로서, 그룹화된 각 행에 대해 전체 월의 평균을 계산합니다.
- ORDER BY order_month: 결과를 월별로 정렬하여 표시합니다.
결과 예시
order_month | total_orders | avg_monthly_orders |
2024-01 | 50 | 45.6 |
2024-02 | 40 | 45.6 |
2024-03 | 47 | 45.6 |
... | ... | ... |
각 월별로 주문 수(total_orders)와 월별 평균 건수(avg_monthly_orders)가 출력됩니다.
728x90
반응형
'IT > DB' 카테고리의 다른 글
PK 2개일 경우 인덱스 특징 (0) | 2024.11.21 |
---|---|
pk 1개 테이블과 2개 테이블의 차이점 (0) | 2024.11.19 |
큐브리드 sql replace 공백 구분탭 추가하는 방법 CHAR(9) (1) | 2024.11.14 |
mysql distinct, group by 차이는? (1) | 2024.11.12 |
데이터베이스 with 쿼리 CTE 쿼리 사용하는 방법 (0) | 2024.11.11 |