MongoDB系列之分組topN

2021-07-08 14:28:09 字數 849 閱讀 1566

collction last3有兩個字段:variable和timestamp,需要先按variable分組,選出每組文件中timestamp最晚的3個,再從這些文件中找到timestamp最早的1個。

last3的部分資料如下:

集算器**:

a1:連線mongodb,連線字格式為mongo://ip:port/db?arg=value&…

a2:使用find函式從mongodb中取數並排序,形成游標。collectoin是last3,過濾條件是空,取出_id之外的所有字段,並按variable排序。集算器的find函式和mongdb的find+sort+limit函式類似,過濾條件的寫法遵循mongodb規範。

a3:迴圈從游標讀數,每次取variable欄位相同的一組文件。a3的作用範圍是縮排的b3到b4,其間可以用a3來引用迴圈變數。a3是記憶體資料,某次取數的結果如下:

b3:選出本組文件中timestamp最晚(大)的3個。

b4:將b3不斷地追加到b2中。b2如下:

a5:選出b2中timstamp最早(小)的那個文件,即:

a6:關閉mongodb連線。

MySQL分組排序求Top

這篇文章主要介紹了詳解mysql分組排序求top 表結構 create table score id int 11 not null auto increment,grp int 11 default null,num int 11 default null,primary key id engin...

MySQL 分組排序取top

hive中可以使用row number how about in mysql?1.學生表 student s,sname,sage,s s 學生編號,sname 學生姓名,sage 出生年月,s 學生性別 2.課程表 course c,cname,t c 課程編號,cname 課程名稱,t 教師編號...

MySQL之分組選擇資料

用到的表 drop table ifexists friends 悟空朋友表 create table friends id int 3 not null,sql server中不能指定int長度 user name varchar 30 default null,type varchar 30 d...