본문 바로가기
파이썬 웹 개발

[Python Django] 월별 sum, count 집계함수 orm group_by

by 배추잠자리 2022. 4. 19.
반응형

대시보드 및 통계표를 개발하다보면,

합계, 카운트 통계가 필요할 때가 있다.

 

장고 ORM을 통해 SUM, COUNT 집계함수를 작성해보자.

 

class Payment(models.Model):
    Result = models.CharField(max_length=100)
    Payment_Date = models.DateTimeField(blank=True, null=True)
    Price = models.IntegerField(null=True)

 

■ 월별 sum, count 하기

import

 

월별 cnt

 

필터부분은 Payment_Date가 2022년이면서 Price가 0원이상이고, Result가 결제인 데이터만 !

annotate(month=TruncMonth('Payment_Date')를 통해 월별로 그룹바이를 하고,

Count 집계를 통해 건수를 리턴해줍니다.

 

 

월별 cnt, sum

Count 말고도, Sum 집계함수를 통해 건수와 합계를 동시에 구할 수 있습니다.

그러면 2022년이면서 월별 통계를 구할 수 있겠네요 !

 

 

ststus_list_account = ModelName.objects.filter(필터조건).annotate(month=TruncMonth('날짜컬럼')).values('month').annotate(cnt=Count('id'), sum=Sum('id')).values('month', 'cnt', 'sum')

 

 

■ 파이썬 장고 orm   AND 조건, OR조건

https://bcdragonfly.tistory.com/17?category=1010487 

 

■ 파이썬 장고 orm  날짜 범위 필터

https://bcdragonfly.tistory.com/29?category=1010487 

 

반응형

댓글