电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Django中日期時間型字段進(jìn)行年月日時分秒分組統(tǒng)計

瀏覽:138日期:2024-09-17 10:41:04

1.數(shù)據(jù)結(jié)構(gòu)說明:

數(shù)據(jù)結(jié)構(gòu)如下:modification字段為修改數(shù)據(jù)時間字段,格式為 年,月,日,時,分,秒。案例場景為,根據(jù)modification字段,統(tǒng)計每個統(tǒng)計粒子,產(chǎn)生數(shù)據(jù)的條數(shù)。如需要統(tǒng)計2020年10月29日 每個小時段產(chǎn)生數(shù)據(jù)的條數(shù)。

Django中日期時間型字段進(jìn)行年月日時分秒分組統(tǒng)計

要進(jìn)行這種統(tǒng)計需要用到 Django的connection庫。統(tǒng)計年月日粒子用 date_trunc_sql,統(tǒng)計時分秒用 datetime_extract_sql

2.進(jìn)行年月日粒子的統(tǒng)計

2.1 官方 date_trunc_sql 原型

def datetime_trunc_sql(self, lookup_type, field_name, tzname): ''' Given a lookup_type of ’year’, ’month’, ’day’, ’hour’, ’minute’, or ’second’, return the SQL that truncates the given datetime field field_name to a datetime object with only the given specificity. ''' raise NotImplementedError(’subclasses of BaseDatabaseOperations may require a datetime_trunc_sql() method’)

解釋說明下:

函數(shù)需要傳入三個參數(shù):

lookup_type:統(tǒng)計粒子(year->年,月->month,day->日,hour->時,minute->分,second->秒) field_name:統(tǒng)計字段的名次 tzname:時區(qū),在中國一般用的是東8區(qū),傳入8即可

2.2 年

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’year’: connection.ops.datetime_trunc_sql(’year’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’year’).annotate(number=Count(’id’)).order_by('year')[0:9]for key in result: print(key)>>{’year’: datetime.datetime(2019, 1, 1, 0, 0), ’number’: 2168}>>{’year’: datetime.datetime(2020, 1, 1, 0, 0), ’number’: 9369}

2.3 月

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’month’: connection.ops.datetime_trunc_sql(’month’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’month’).annotate(number=Count(’id’)).order_by('month')[0:9]for key in result: print(key) >>{’month’: datetime.datetime(2019, 6, 1, 0, 0), ’number’: 8}>>{’month’: datetime.datetime(2019, 7, 1, 0, 0), ’number’: 51}>>{’month’: datetime.datetime(2019, 8, 1, 0, 0), ’number’: 118}>>{’month’: datetime.datetime(2019, 9, 1, 0, 0), ’number’: 7}>>{’month’: datetime.datetime(2019, 10, 1, 0, 0), ’number’: 731}>>{’month’: datetime.datetime(2019, 11, 1, 0, 0), ’number’: 514}>>{’month’: datetime.datetime(2019, 12, 1, 0, 0), ’number’: 739}>>{’month’: datetime.datetime(2020, 1, 1, 0, 0), ’number’: 483}>>{’month’: datetime.datetime(2020, 2, 1, 0, 0), ’number’: 921}

2.4 日

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’day’: connection.ops.datetime_trunc_sql(’day’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’day’).annotate(number=Count(’id’)).order_by('day')[0:9]for key in result: print(key) >>{’day’: datetime.datetime(2019, 6, 28, 0, 0), ’number’: 1}>>{’day’: datetime.datetime(2019, 6, 29, 0, 0), ’number’: 7}>>{’day’: datetime.datetime(2019, 7, 2, 0, 0), ’number’: 1}>>{’day’: datetime.datetime(2019, 7, 11, 0, 0), ’number’: 3}>>{’day’: datetime.datetime(2019, 7, 20, 0, 0), ’number’: 32}>>{’day’: datetime.datetime(2019, 7, 21, 0, 0), ’number’: 2}>>{’day’: datetime.datetime(2019, 7, 29, 0, 0), ’number’: 3}>>{’day’: datetime.datetime(2019, 7, 31, 0, 0), ’number’: 10}>>{’day’: datetime.datetime(2019, 8, 1, 0, 0), ’number’: 20}

2.5 時

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’hour’: connection.ops.datetime_trunc_sql(’hour’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’hour’).annotate(number=Count(’id’)).order_by('hour')[0:9]for key in result: print(key) >>{’hour’: datetime.datetime(2019, 6, 28, 17, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 6, 29, 9, 0), ’number’: 6}>>{’hour’: datetime.datetime(2019, 6, 29, 10, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 7, 2, 14, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 7, 11, 14, 0), ’number’: 2}>>{’hour’: datetime.datetime(2019, 7, 11, 15, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 7, 20, 11, 0), ’number’: 24}>>{’hour’: datetime.datetime(2019, 7, 20, 12, 0), ’number’: 3}>>{’hour’: datetime.datetime(2019, 7, 20, 13, 0), ’number’: 2}

2.6 分

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’minute’: connection.ops.datetime_trunc_sql(’minute’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’minute’).annotate(number=Count(’id’)).order_by('minute')[0:9]for key in result: print(key) >>{’minute’: datetime.datetime(2019, 6, 28, 17, 22), ’number’: 1}>>{’minute’: datetime.datetime(2019, 6, 29, 9, 6), ’number’: 4}>>{’minute’: datetime.datetime(2019, 6, 29, 9, 39), ’number’: 1}>>{’minute’: datetime.datetime(2019, 6, 29, 9, 41), ’number’: 1}>>{’minute’: datetime.datetime(2019, 6, 29, 10, 4), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 2, 14, 57), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 11, 14, 48), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 11, 14, 54), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 11, 15, 40), ’number’: 1}

2.7 秒

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’second’: connection.ops.datetime_trunc_sql(’second’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’second’).annotate(number=Count(’id’)).order_by('second')[0:9]for key in result: print(key)>>{’second’: datetime.datetime(2019, 6, 28, 17, 22, 54), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 1), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 18), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 35), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 36), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 39, 30), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 41, 17), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 10, 4, 15), ’number’: 1}>>{’second’: datetime.datetime(2019, 7, 2, 14, 57, 56), ’number’: 1}

到此這篇關(guān)于Django中日期時間型字段進(jìn)行年月日時分秒分組統(tǒng)計的文章就介紹到這了,更多相關(guān)Django 日期時間型字段統(tǒng)計內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | 安徽华耐泵阀有限公司-官方网站 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 优秀的临床医学知识库,临床知识库,医疗知识库,满足电子病历四级要求,免费试用 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 留学生辅导网-在线课程论文辅导-留学生挂科申诉机构 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | PE一体化污水处理设备_地埋式生活污水净化槽定制厂家-岩康塑业 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 金属抛光机-磁悬浮抛光机-磁力研磨机-磁力清洗机 - 苏州冠古科技 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 云南成考网_云南成人高考报名网 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 烽火安全网_加密软件、神盾软件官网 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 |