Mongodb 按照时间进行分组统计查询
MongoDB函数介绍:
- •$project - 可以重构数据
•$match - 可以实现类似query的功能
•$limit - 限制返回个数
•$skip - 同上
•$unwind - 可以将一个包含数组的文档切分成多个, 比如你的文档有数组字段 A, A中有10个元素, 那么 经过 $unwind处理后会产生10个文档,这些文档只有 字段 A不同
•$group - 统计操作, 还提供了一系列子命令
–$avg, $sum …
•$sort - 排序
业务需求,根据时间进行分组排序并查询出相应字段。
//分组条件,按照天进行分组
DBObject all = new BasicDBObject("_id",new BasicDBObject("month",new BasicDBObject("$month", "$loginTime")).append("day", new BasicDBObject("$dayOfMonth", "$loginTime")).append("year", new BasicDBObject("$year", "$loginTime"))).append("count",new BasicDBObject("$sum", 1));// groupDBObject group = new BasicDBObject("$group", all);DBObject condition1 = new BasicDBObject();condition1.put("loginTime",new BasicDBObject("$gte",tody).append("$lte", tomorrow));//注意这边时间是要data类型DBObject match = new BasicDBObject("$match", condition1); // $match相当于where// 排序DBObject sortFields = new BasicDBObject("loginTime", -1);// 注意此处排序是按照字段day升序,但是不能写day 需用_id代替,因为day是group用的字段DBObject sort = new BasicDBObject("$sort", sortFields);
//List需要按照顺序添加List<DBObject> optionList = new ArrayList<>();optionList.add(match);optionList.add(group);optionList.add(sort);AggregationOutput output = mongoTemplate.getCollection("logMemberLogin").aggregate(optionList);for (DBObject obj : output.results()) {输出XXX
}
以上就是Mongodb按照时间天分组的教程了。
Mongodb 按照时间进行分组统计查询相关推荐
- mongodb aggregate按日期分组统计及spring mongo实现
如需转载请注明出处: mongodb aggregate按日期分组统计及spring mongo实现 实现的需求 传入毫秒级开始时间戳和结束的时间戳,根据当前状态currentStatus.statu ...
- SQL service基础(二)对数据指定列查询、条件查询、查询结果排序、聚集函数查询、分组统计查询
实验目标: 1.掌握指定列或全部列查询 2.掌握按条件查询 3.掌握对查询结果排序 4.掌握使用聚集函数的查询 5.掌握分组统计查询 一.请完成书中实验7.1,并完成以下问题. 1.查询所有学生的姓名 ...
- mysql中实现分类统计查询的步骤_在MySQL中如何进行分组统计查询
昨天和大家分享了MySQL中,如何进行聚合函数及统计函数查询,若是不清楚的话,可以去看一下我的那个文章.今天继续和大家分享,在MySQL中如何进行分组统计查询,这个在实际应用中,也会经常运用到,比如以 ...
- 数据分析 - 分组统计查询
文章目录 一.问题引入 (一)分组查询 (二)汇总数据 二.分组统计查询 (一)基本概念 (二)语法格式 (三)注意事项 (三)案例演示 三.聚合函数 (一)AVG()函数 1.函数功能 2.基本语法 ...
- mysql查询 展示横纵坐标_sql 分组统计查询并横纵坐标转换
关于sql 分组统计查询,我们在做报表的时候经常需要用到;今天就在这里整理下; 先附上一段sql代码: if object_id(N'#mytb',N'U') is not null drop tab ...
- Oracle学习笔记(七)——分组统计查询
Oracle学习笔记(七)--分组统计查询 基础统计函数的使用 分组统计操作的实现,结合多表查询使用分组统计 常用统计函数 COUNT(*|[DISTINCT]字段) MAX(字段,日期或数字) MI ...
- Oracle之数据操作__分组统计查询
一. 统计函数 1. COUNT(*),COUNT(字段),COUNT(DISTNCT 字段) SELECT COUNT(*),COUNT(ename),COUNT(comm),COU ...
- SQL——分组统计查询
统计函数 COUNT(*|DISTINCT|列) --求出全部的记录数,即全部行 SUM(列) --求出总和,操作的列是数字 AVG(列) --求平均值 MAX(列) --求最大值 MIN(列) -- ...
- 《卸甲笔记》-分组统计查询对比
统计函数对比 1查询出公司每个月支出的月工资总和 Oracle SQL> select SUM(sal) from emp;SUM(SAL) ----------29025 PPAS scott ...
- MyBatis分组统计查询、多条件查询
声明一下,本文章基于之前的博客https://blog.csdn.net/Xeon_CC/article/details/107219206 的环境下进行编码,但是不影响童鞋们浏览此文章,毕竟说的是一 ...
最新文章
- java 两个值对换_java将两个整型变量值进行互换的几种实现方法
- 腾讯林衍凯:图神经网络,考虑「拓扑信息」会怎样?
- vuejs,angularjs,reactjs介绍
- ListCtrl添加右键菜单(ListCtrl类里编辑,给ListCtrl 发送NM_RCLICK消息)
- SAP Spartacus里cx-carousel的实现
- Linux维护笔记五
- jquery --- pip方法
- text 热敏打印机_只要有想象力,打印机都能做游戏
- 逆袭之旅.DAY08东软实训.多态~
- 沉得住气的程序员们!
- 60-100-024-使用-MySQL 表锁
- Leetcode打卡 | No.24 两两交换链表中的节点
- 阿里正在使用一种更灵活的软件集成发布模式
- 关于电脑误删摸个配置文件导致系统异常的解决方法(知道误删的什么文件)
- ibmx系列服务器装系统,IBM X系列服务器 系统安装指南.pdf
- 自定义View之HenCoder学习笔记
- python等值面追踪_等值线的追踪算法(2)
- 国家区块链漏洞库 《区块链漏洞定级细则》发布
- 专利权利要求书七步法
- Java面试题中高级,nasdocker有啥好玩的