统计任意时间段内和sum,avg等信息

记录样本

{"_id" : ObjectId("5a2a290320fc1abc16104c0c"),"netservice" : "Brasil_OiVelox","repstime" : 0.014,"stattime" : ISODate("2017-12-08T13:45:00.000Z"),"total" : 1,"dnstime" : 0.191,"city" : "圣保罗","district" : "巴西","success" : 1,"created" : ISODate("2017-12-08T13:54:11.361Z"),"bufrate" : 0.0,"first_frame" : 0.383,"downspeed" : 2274.243,"tcptime" : 0.015
}

比如现在要统计 2018-03-11 ~12日,每半小时的平均 repstimetotal 之和.

db.getCollection('test-fa-test-07132-PK').aggregate({"$match":{"stattime": {'$gte': ISODate("2018-03-11T00:00:00Z")  ,'$lt':ISODate("2018-03-12T00:00:00Z")}}},{"$group": {"_id": { "$subtract": [{ "$subtract": [ "$stattime", new Date("1970-01-01") ] },{ "$mod": [{ "$subtract": [ "$stattime", new Date("1970-01-01") ] },1000 * 60 * 30 /*聚合时间段,30分钟*/]}]},"repstime": {'$avg': '$repstime'},"total": {'$sum': '$total'},//"timelist": { '$push': '$stattime'} /*查看聚合那些时间*/}},{"$project": {"_id": 0,"repstime": 1,"total":1,"timelist": 1,'datetime': {'$add': [new Date(0), '$_id']}                  }},{"$sort": {'datetime': 1}}
)

查询结果

/* 1 */
{"repstime" : 0.141346153846154,"total" : 26,"datetime" : ISODate("2018-03-11T00:00:00.000Z")
}/* 2 */
{"repstime" : 0.0664772727272727,"total" : 44,"datetime" : ISODate("2018-03-11T00:30:00.000Z")
}

[MongoDB] 按时间分组统计(任意时间段)相关推荐

  1. mongodb按照时间分组统计

    使用spring data mongodb v1.8 需求1. 数据结构如下.说明:改集合记录的是公司各个系统的访问情况(localPath表示系统,requestTime 表示请求时间,字符串类型, ...

  2. python excel 分组统计一个时间段内的数据,如三个月内,但不限于某个时间起止,是任何三个月的长度内

    """ 分组统计一个时间段内的数据,如三个月内,但不限于某个时间起止,是任何三个月的长度内 """import pandas as pd i ...

  3. oracle不连续得时间如何分组,Oracle按不同时间分组统计的sql

    Oracle按不同时间分组统计的sql以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle按不同时间分组统计的s ...

  4. mysql 分组统计 每天_MySQL按时间分组统计每天的数量

    直接上代码: select CREATED_DATE,COUNT(*) as day_count from tb where DATE_SUB(CURDATE(), INTERVAL 1 MONTH) ...

  5. mysql 分组统计 原则_mysql数据库分组统计--根据时间分组统计

    引言 环境上有一个实时表库,该表存储了一天24小时定时任务.马上打算进行软件升级,领导让分析一下,什么时间升级软件,对程序的影响最小. 这样就需要进行数据统计,按小时进行分组,统计出每个小时的运行任务 ...

  6. MongoDB 分组统计

    [摘要] MongoDB 在进行分组统计时如果面对一些比较复杂的计算情况,往往会遇到 shell 脚本过于复杂的问题.而集算器 SPL 语言,则因其有丰富的函数库及易用性恰好能弥补 Mongo 这方面 ...

  7. mysql_时间段维度统计,关于MongoDB时间格式转换和时间段聚合统计的用法总结

    一 . 背景需求 在日常的业务需求中,我们往往会根据时间段来统计数据.例如,统计每小时的下单量:每天的库存变化,这类信息数据对运营管理很重要. 这类数据统计依赖于各个时间维度,年月日.时分秒都有可能. ...

  8. mongodb aggregate按日期分组统计及spring mongo实现

    如需转载请注明出处: mongodb aggregate按日期分组统计及spring mongo实现 实现的需求 传入毫秒级开始时间戳和结束的时间戳,根据当前状态currentStatus.statu ...

  9. (SQL语句)按指定时间段分组统计

    我现在有一张表:   列名1                时间 03174190188 2009-11-01 07:17:39.217 015224486575 2009-11-01 08:01:1 ...

最新文章

  1. 志澄观察:卫星互联网——太空经济新动力
  2. Mel滤波器组的设计与实现(基于MATLAB和Python)
  3. python评语生成_如何评价生成模型框架 ZhuSuan?
  4. python数据分析报告的格式_Python数据报表之Excel操作模块用法分析
  5. android开发入门与实践_Electron从入门到实践,前端开发者开发桌面App的最佳选择...
  6. Hive _偏门常用查询函数(一)附带实例(空字段赋值、 CASE WHEN、行转列)
  7. Java面试你必须要知道的那些知识,深夜思考
  8. 字节流抽象类 java
  9. Linux绝对战胜不了Windows系统
  10. java IDEA设置程序启动命令
  11. ubuntu14.04 server 安装docker
  12. 加速器,陀螺仪测量移动距离的方法
  13. CF1379C Choosing flowers
  14. 用Python在喜马拉雅音乐爬虫小试
  15. 南方cass怎么添加指北针_添加图例、比例尺、指北针
  16. 在vue中使用高德地图添加窗体
  17. 瑰雪黑阳rwby手游辅助材料 瑰雪黑阳rwby脚本工具获取途径
  18. NOIP提高组 旷野大计算
  19. 计算钱币(Java)
  20. Win10 64位下载与安装 MySQL 5.7.30

热门文章

  1. 【ML】第 1 章 :分布式机器学习:术语和概念
  2. layui后台管理首页配置
  3. 帆软内置数据集实现决策报表联动
  4. 遇到问题---CDH重启namenode--Command timed-out after 150 seconds--角色正在启动
  5. 【洛谷】P1067 多项式输出【模拟】
  6. Final Cut Pro中文教程 (1) 基础认识Final Cut Pro
  7. 1w+大学生在线学习,弘玑Cyclone与伯禹教育开展大学生RPA认证集训营
  8. Turbopack 很火? 那么就从前端角度看 Rust
  9. Altium数据向Cadence数据转换向导(上)
  10. ESP32 开发笔记(四)LVGL控件学习 Canvas 画布控件