반응형
대시보드 및 통계표를 개발하다보면,
합계, 카운트 통계가 필요할 때가 있다.
장고 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 하기
필터부분은 Payment_Date가 2022년이면서 Price가 0원이상이고, Result가 결제인 데이터만 !
annotate(month=TruncMonth('Payment_Date')를 통해 월별로 그룹바이를 하고,
Count 집계를 통해 건수를 리턴해줍니다.
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
반응형
'파이썬 웹 개발' 카테고리의 다른 글
[Django] ManyToManyField 추가 및 삭제 방법_ 예제 (0) | 2022.05.10 |
---|---|
[Django] List 안에 dict key값으로 정렬하기 _OUTER JOIN 대체 방법 (0) | 2022.04.22 |
[Python Django] orm sum, count 출력하기 _orm 합계, 카운트(집계함수) (0) | 2022.04.14 |
[Django] datatable Server-side processing _ 10,000row 넘어갈 때 방법 (0) | 2022.04.12 |
[Python Django] ORM 컬럼의 타입 변경해서 비교하기_ orm column cast (0) | 2022.03.28 |
댓글