MongoDB比较两列大小 使用$subtract函数
是找出整个表 a大于b的总数量,要怎么操作数据库呢,那就要用到$subtract函数
MongoDB比较两列大小 使用$subtract函数,
// MongoDB 比较两列大小求出 啊>b 的数值 db.seoProduceAnalyse.aggregate([
{
"$project":{
"val":{"$subtract":["$a","$b"]} // a与 b两个值减 得到值 val
}
},
{
"$match":{
"val":{"$lt":1} // 条件 where 是 val《1
}
},
{
"$group":{
"_id":1, // id
"count":{"$sum":1} // 展示 count 值为 总数
}
}
])
结果:

java 中代码
// $group
DBObject group = new BasicDBObject();
DBObject q = new BasicDBObject();
DBObject l = new BasicDBObject();
DBObject c = new BasicDBObject();
c.put("$sum" ,1);
q.put("_id" ,1);
q.put("count",c );
group.put("$group", q); // $project
DBObject project = new BasicDBObject();
DBObject p = new BasicDBObject();
DBObject sb = new BasicDBObject();
BasicDBList list = new BasicDBList();
list.add("$a");
list.add("$b");
sb.put("$subtract",list); // 使用$subtarct函数
p.put("val", sb);
project.put("$project", p); // $match
DBObject match = new BasicDBObject();
DBObject qm = new BasicDBObject();
DBObject qmc = new BasicDBObject();
qmc.put("$lt", Integer.valueOf("0"));
qm.put("val", qmc);
match.put("$match",qm);
AggregationOutput output = collection.aggregate(project,match,group); // 顺序必须是 project match group
MongoDB比较两列大小 使用$subtract函数的更多相关文章
- linux awk命令详解,使用system来内嵌系统命令, awk合并两列
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- 置的测试文件的大小一定要大过你的内存(最佳为内存的两倍大小),不然linux会给你的读写的内容进行缓存,会使数值非常不准确。
使用iozone测试磁盘性能 IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, rand ...
- 分列:将excel单元格的内容拆分为两列
提要:处理excel数据时有时需要把单元格的内容拆分为两列,可能方便外部软件的链接,可能使数据显示更明晰等等,有人说直接剪切加粘贴不就可以了吗,但是有时数据过多,这样处理很不效率,网上搜索的方法说插入 ...
- excel 两列 找出相同的值
excel 有A,B两列数值,要找出A,B两列中数值相同的值. 选中B列,格式——条件格式——公式 输入:=countif(A:A,B1) 在格式中可选择突出字体颜色 该函数的语法规则如下: co ...
- DIV+CSS 网页布局之:两列布局
1.宽度自适应两列布局 两列布局可以使用浮动来完成,左列设置左浮动,右列设置右浮动,这样就省的再设置外边距了. 当元素使用了浮动之后,会对周围的元素造成影响,那么就需要清除浮动,通常使用两种方法.可以 ...
- 使用 PIVOT 和 UNPIVOT 行转列 列转行 报表统计 函数
官方文档:http://technet.microsoft.com/zh-cn/library/ms177410(v=SQL.105).aspx 可以使用 PIVOT 和 UNPIVOT 关系运算符将 ...
- [数据库] SQL查询语句表行列转换及一行数据转换成两列
原文来自:http://blog.csdn.net/Eastmount/article/details/50559008 本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两 ...
- css常见的各种布局上(两列布局)
常见的布局上(两列布局) 1.常见的两列布局 1.1左边固定,右边自适应,左边宽度已知,右边默认占满整行,使用left 左浮动,右边不浮动,设置margin-left:左侧宽度 <style&g ...
- flex 垂直居中、两列对齐、自适应宽
flex 垂直居中 <div id="parent"> <div id="child"> </div> </div&g ...
随机推荐
- vue 前端框架 目录
vue 前端框架 目录 vue-目录 ES6基础语法 vue基础语法 Vue.js的组件化思想 —上 Vue.js的组件化思想 —下 Vue + Vue-Router结合开发 SublimeSer ...
- [Selenium] 在Chrome的开发者工具中验证检查XPath/CSS selectors
Evaluate and validate XPath/CSS selectors in Chrome Developer Tools Method 1 : From Elements panel U ...
- C++ 提取网页内容系列之三
标 题: C++ 提取网页内容系列作 者: itdef链 接: http://www.cnblogs.com/itdef/p/4171659.html 欢迎转帖 请保持文本完整并注明出处 这次继续下载 ...
- Matching Networks for One Shot Learning
1. Introduction In this work, inspired by metric learning based on deep neural features and memory a ...
- selenium+java+chrome 自动化测试环境搭建
安装jdk (jdk 配置环境变量) eclipse(可用免安装的) 安装谷歌浏览器 下载chorme driver (chorme driver 也要配置环境变量,将chormedriv ...
- OpenSessionViewFilter
OpenSessionViewFilter是spring提供的一个针对hibernate的一个支持类,其主要的意思是=在发起一个页面请求的时候打开session,并且保持session直到请求结束,具 ...
- TensorFlow --playground游乐场
TensorFlow游乐场官网http://playground.tensorflow.org(国内需要梯子才能访问) 游乐场的神经网络结构有三层,第一层为输入层,输入的是特征向量(描述问题特征的向量 ...
- jdk8中关于操作集合的一些新特性,遍历和排序操作
jdk8增加了不少新的东西,在集合操作这块,就有如 lamda表达式,stream,sort,optional等新的类,主要涉及遍历和排序等方面,新特性提升了不少性能,我们开发就是要拥抱新事物,守着老 ...
- Makefile入门
相信大家对makefile都不陌生,在Linux下编写程序基本都离不开makefile的编写,我们都知道多个.c文件经过编译器编译后得到多个.o文件,这些文件是互相独立的,但最终我们要得到一个可正常运 ...
- gitlab 搭建自己的源代码管理器
首先 gitlab 是不支持 windows.mac os 的,具体支持的系统参照官网的 1.安装虚拟机 ubuntu16.04 需要注意的一点:gitlab 服务器 与 客户端必须在一个局域网内( ...