MongoDB_09之計數去重分組等
1.count 計數 查詢persons中美國學生的人數 db.persons.find({country:"USA"}).count() 2.distinct 去重 查詢出persons中一共有多少個國家,分別是什麼 db.runCommand({distinct:"persons",key:"country"}).values //這裡的values為陣列的鍵 如:values:[China,USA] 3.group 分組 語法: db.runCommand({group:{ ns:集合名字, key:分組的鍵物件, initial:初始化累加器, $reduce:組分解器, condition,條件, finalize:組完成器 }}) //分組首先會按照key進行分組,每組的每一個文件全要執行$reduce的方法,它接收2個引數,一個是組內本條記錄,一個是累加資料 例:請查出persons中每個國家學生數學成績最好的學生資訊(必須在90分以上) //思路:按國家分組,然後查詢每組中最好的,然後在取出成績在90分以上的學生 db.runCommand({group:{ ns:"persons", key:{"country":true}, initial:{m:0}, $reduce:function(doc,prev) { if(doc.m > prev.m) { prev.m = doc.m; prev.name = doc.name; prev.country = doc.country; } }, condition:{m:{$gt:90}} }}) 使用完成器對以上查出來的結果進行描述顯示 db.runCommand({group:{ ns:"persons", key:{"country":true}, initial:{m:0}, $reduce:function(doc,prev) { if(doc.m > prev.m) { prev.m = doc.m; prev.name = doc.name; prev.country = doc.country; } }, condition:{m:{$gt:90}}, finalize:function(prev) { prev.m = prev.name + "Math scores" + prev.n } }}) 4.用函式格式化分組的鍵 如果在集合中出現鍵country和counTry同時存在,分組又如何解決呢? 用下面這種方式替換上面的key $keyf:function(doc) { return {coutry:doc.counTry} } 命令執行器runCommand 5.用命令執行一次刪除集合的操作 db.runCommand({drop:"map"}) 常用shell命令 6.查詢伺服器版本號和主機作業系統 db.runCommand({buildInfo:1}) 7.查詢執行命令的集合的詳細資訊,大小,空間,索引等 db.runCommand({collStats:"persons"}) 8.查詢操作本集合最後一次錯誤資訊 db.runCommand({getLastError:"persons"})
相關推薦
MongoDB_09之計數去重分組等
1.count 計數 查詢persons中美國學生的人數 db.persons.find({country:"USA"}).count() 2.distinct 去重 查詢出persons中一共
SQL腳本去重分組統計
數據 values name var logs 記錄 寫入 varchar 分享 需求:首先有一張表記錄學生姓名、科目和成績,然後模擬插入幾條數據,腳本如下: create table score ( Name nvarchar(20),--姓名
java8處理list集合去重分組操作
//分組統計重複String的名稱和數量 List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("a"); Map<String,Long> map
JavaScript系列之陣列去重
陣列去重方法是老生常談,特別是一些bat大廠的面試都會提到這個問題,既然是常談,那麼我也來談談 巢狀迴圈(相容性好) 使用迴圈巢狀,最外層迴圈 array,裡面迴圈 res,如果 array[i] 的值跟 res[j] 的值相等,就跳出迴圈,如果都不等於,說明元素是唯一的,這時候 j 的值就
mysql之資料去重並記錄總數
引用:http://blog.sina.com.cn/s/blog_6c9d65a10101bkgk.htmlhttp://www.jb51.net/article/39302.htm1、使用distinct去重(適合查詢整張表的總數)有多個學校+教師投稿,需要統計出作者的總
Java 資料結構之List去重
我們可以假設這樣一個流程:從網路上下來一組json資料,不管同步還是非同步,第一個就是想先找個容器把他接下來,順手就把list操起來了,然後就一直add,add,,,但是問題來了,我們不管三期二十七的把資料都接下來了,從來就沒注意資料有重複的怎麼去除呢,遍歷吧,
JAVA之HashSet去重(本身無序不重複,針對物件去重)
return id+":"+name;}//通過重寫這兩個方法實現物件的去重(eclipse可自動生成)@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((id == n
JavaScript專題之陣列去重
前言 陣列去重方法老生常談,既然是常談,我也來談談。 雙層迴圈 也許我們首先想到的是使用 indexOf 來迴圈判斷一遍,但在這個方法之前,讓我們先看看最原始的方法: var array = [1, 1, '1', '1']; function unique(ar
JS之陣列去重
var aList = [1,2,3,4,4,3,2,1,2,3,4,5,6,5,5,3,3,4,2,1]; var aList2 = []; for(var i=0;i<aList.leng
前端面試系列之陣列去重
1. 雙迴圈去重原理: 定義一個包含原始陣列第一個元素的陣列,然後遍歷原始陣列,對原始陣列進行遍歷,將原始陣列中的每一個元素與新陣列中的每一個元素進行對比,如果不重複就新增到新數組裡,最後返回新陣列。這種方式很耗費時間喝記憶體,不適合大型陣列。 // 雙重迴圈去重,原理
List使用Stream流進行集合Collection的各種運算彙總:對BigDecimal求和,某個欄位的和、最大值、最小值、平均值,欄位去重,過濾等
寫Java介面的朋友都知道,Java 8的更新,經常會用到過濾 list<Object> 裡的資料,本文就對List使用Stream流進行集合Collection的各種運算做一個彙總! 優勢: &nbs
pandas基礎屬性方法隨機整理(三)--- 描述統計/去重計數/分組排序
分組和排序 Series.value_counts() & drop_duplicates() 資料集: baby_names.info() <class 'pandas.core.frame.DataFrame'> Rang
mysql分組後計算分組的組數和根據某個欄位去重計數
計算分組的組數SELECT count(1) from (select COUNT(1) as sum FROM TM_APP_MAIN A INNER JOIN TM_APP_PRIM_APPLIC
iOS數組的去重,判空,刪除元素,刪除重復元素 等
ack 如果 tle sar abc 朋友 計數 led trac 一: 去重 有時需要將NSArray中去除重復的元素,而存在NSArray中的元素不一定都是NSString類型。今天想了想,加上朋友的幫助,想到兩種解決辦法,先分述如下。 1.利用NSDictionar
二分法之數組去重和找最小值
如果 math mat n) 分法 type arr push else if 二分&數組去重 <script type="text/javascript"> var arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 5,
php數組合並,反轉,去重,添加元素等;
去重 長度 關聯數組 reverse ever merge 定義 var_dump 反轉 //參數默認值//function abc($a,$b,$c = 0){// echo $a,$b,$c;//}//abc(1,3);//結果等於130;//echo "<
Java之大數據位圖法(無重復排序,重復排序,去重復排序,數據壓縮)
align system 容器類 底層 修改 歸並排序 概念 ppr long 大數據位圖法(無重復排序,重復排序,去重復排序,數據壓縮)之Java實現 位圖法介紹 位圖的基本概念是用一個位(bit)來標記某個數據的存放狀態,由於采用了位為單位來存放數據,所以節
【python常見面試題】之python 中對list去重的多種方法
ont dex 如果 原來 簡單 div set方法 ron 職位 在python相關職位的面試過程中,會對列表list的去重進行考察。(註意有時會要求保證去重的順序性) 1、直觀方法 1 li=[1,2,3,4,5,1,2,3] 2 new_li=[] 3 for
thinkphp去重統計數據sql
別人 table rom pos auth 計數 style user 不同的 DISTINCT 方法用於返回唯一不同的值 官方文檔給出的示例: $Model->distinct(true)->field(‘userName‘)->select();
python之使用set對列表去重,並保持列表原來順序
原來 div 無重復 列表 mys ddr body afa key #原始方法,但是會打亂順序 mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist) #myset是另外一個列表,裏面的內容是mylist裏面的無重復 項