MongoDB多條件分組聚合查詢

2021-10-10 04:54:04 字數 889 閱讀 8857

需要統計某一日期下不同活動不同渠道的呼叫量

db.collectionname.aggregate([},

, activitycode: ,

channel: ,

total:

}},}]

)

#mongodb的聚合管道將mongodb文件在乙個管道處理完畢後將結果傳遞給下乙個管道處理

db.collection_name.aggregate(

,,...)

#這裡其實就兩個問題:如何多條件分組、如何展示各個分組條件的列

#多條件分組寫法

,total:}}

#展示各個分組條件的列

#如果不經過處理直接查詢會得到如下值:

, "total"

: 1}

#這裡activitycode、channel就會被包裹在_id裡面,需要手工處理

#取出_id裡分組字段對應的值寫法

, activitycode: , channel: , total: }}

#說明:

$first:根據資源文件的排序獲取第乙個文件資料 別名1:、別名2:

或者$last:根據資源文件的排序獲取最後乙個文件資料 別名1:、 別名2:

#得到結果

, "activitycode"

:"test_code_123",

"channel"

:"大唐",

"total"

: 1}

#最後在 $project: 配置_id隱藏輸出,得到想要的結果:

RDLC報表多條件分組

乙個報表如果要先按a分組,然後再按b分組,再按c分組.這種多條件分組情況下,rdlc報表處理起來並不方便。只能另闢蹊徑,想些歪招了 比如有一張員工表,裡面有公司編碼companycode,部門號deptno,員工號empno,員工姓名empname 需要在報表上,先按公司分組,相同公司的再按部門分組...

Spring data jpa多表查多條件查詢

現有如下場景,需要根據a表的check code欄位和b表的store code check result欄位組合查詢,a表與b表的關聯關係為一對多。為了簡化查詢引數,我們對查詢引數進行了封裝,抽出了公共的querycondition public class querycondition publ...

八 Spring Data JPA多條件分頁查詢

多條件查詢 public page pagequery label label,integer page,integer size 標籤狀態 if stringutils.isnotblank label.getstate predicate parr newpredicate list.size ...