使用django的ORM框架按月統(tǒng)計近一年內(nèi)的數(shù)據(jù)方法
如下所示:
# 計算時間 time = datetime.datetime.now() - relativedelta(years=1) # 獲取近一年數(shù)據(jù) one_year_data = Data.objects.filter(create_time__gte=time_ago) # 分組統(tǒng)計每個月的數(shù)據(jù) count_res = one_year_data\ .annotate(year=ExtractYear('create_time'),month=ExtractMonth('create_time'))\ .values('year', 'month').order_by('year', 'month').annotate(count=Count('id')) print(count_res)
打印結(jié)果:
<QuerySet [{'year': 2018, 'month': 7, 'count': 3}, {'year': 2019, 'month': 5, 'count': 7}, {'year': 2019, 'month': 6, 'count': 161}]>
annotate()方法:
對數(shù)據(jù)集先進(jìn)行分組然后再進(jìn)行某些聚合操作或排序時,需要使用annotate方法來實現(xiàn)。與aggregate方法不同的是,annotate方法返回結(jié)果的不僅僅是含有統(tǒng)計結(jié)果的一個字典,而是包含有新增統(tǒng)計字段的查詢集(queryset)。
以上這篇使用django的ORM框架按月統(tǒng)計近一年內(nèi)的數(shù)據(jù)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 基于Django統(tǒng)計博客文章閱讀量
- MongoDB 中聚合統(tǒng)計計算--$SUM表達(dá)式
- django項目用higcharts統(tǒng)計最近七天文章點(diǎn)擊量
- Golang 函數(shù)執(zhí)行時間統(tǒng)計裝飾器的一個實現(xiàn)詳解
- Vue自定義指令上報Google Analytics事件統(tǒng)計的方法
- Golang 統(tǒng)計字符串字?jǐn)?shù)的方法示例
- 利用Celery實現(xiàn)Django博客PV統(tǒng)計功能詳解
- MongoDB中強(qiáng)大的統(tǒng)計框架Aggregation使用實例解析
- Google 統(tǒng)計圖表(Flash)小插件
- go語言之給定英語文章統(tǒng)計單詞數(shù)量(go語言小練習(xí))
相關(guān)文章
numpy.ndarray 交換多維數(shù)組(矩陣)的行/列方法
今天小編就為大家分享一篇numpy.ndarray 交換多維數(shù)組(矩陣)的行/列方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Python操作Redis之設(shè)置key的過期時間實例代碼
這篇文章主要介紹了Python操作Redis之設(shè)置key的過期時間實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01xshell會話批量遷移到mobaxterm的工具(python小工具)
這篇文章主要介紹了xshell會話批量遷移到mobaxterm的工具,使用方法也超級簡單,本文通過python代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12詳解使用python crontab設(shè)置linux定時任務(wù)
本篇文章主要介紹了使用python crontab設(shè)置linux定時任務(wù),具有一定的參考價值,有需要的可以了解一下。2016-12-12零基礎(chǔ)也能看懂的python內(nèi)置csv模塊教程
這篇博客就為你介紹一個知識點(diǎn),python 內(nèi)置模塊 csv 。讓大家一文就看懂csv csv(Comma-Separated Values)文件是什么?以及python 中的 csv 文件清晰解法讀取文件寫入文件 csv 文件其它說明2021-11-11