1. 程式人生 > >mongodb group by date 聚合查詢日期 統計每天資料(資訊量)

mongodb group by date 聚合查詢日期 統計每天資料(資訊量)

/* 1 */
{
    "_id" : ObjectId("557ac1e2153c43c320393d9d"),
    "msgType" : "text",
    "sendTime" : ISODate("2015-06-12T11:26:26.000Z")
}

/* 2 */
{
    "_id" : ObjectId("557ac1ee153c43c320393d9e"),
    "msgType" : "text",
    "sendTime" : ISODate("2015-06-12T11:26:38.000Z")
}

/* 3 */
{
    "_id" : ObjectId("557ac2012de5d32d213963b5"),
    "msgType" : "text",
    "sendTime" : ISODate("2015-06-12T11:26:56.000Z")
}

/* 4 */
{
    "_id" : ObjectId("557ac978bb31196e21d23868"),
    "msgType" : "text",
    "sendTime" : ISODate("2015-06-12T11:58:47.000Z")
}

/* 5 */
{
    "_id" : ObjectId("557ac9afbb31196e21d23869"),
    "msgType" : "text",
    "sendTime" : ISODate("2015-06-12T11:59:43.000Z")
}


// SQL Here
db.getCollection('wechat_message').aggregate(
    [   
        {   $project : { day : {$substr: ["$sendTime", 0, 10] }}},        
        {   $group   : { _id : "$day",  number : { $sum : 1 }}},
        {   $sort    : { _id : -1 }}        
    ]
)


// Result Here
"result" : [ 
        {
            "_id" : "2015-07-06",
            "number" : 13.0000000000000000
        }, 
        {
            "_id" : "2015-07-05",
            "number" : 3.0000000000000000
        }, 
        {
            "_id" : "2015-07-03",
            "number" : 10.0000000000000000
        }, 
        {
            "_id" : "2015-07-02",
            "number" : 29.0000000000000000
        }, 

相關推薦

mongodb group by date 聚合查詢日期 統計每天資料資訊量

/* 1 */ { "_id" : ObjectId("557ac1e2153c43c320393d9d"), "msgType" : "text", "sendTime" : ISODate("2015-06-12T11:26:26.000Z") } /* 2 */ {

淺析MySQL使用 GROUP BY 分組聚合與細分聚合

官方 dev 錯誤 row 一個 求平均值 時也 total 正是 1. 聚合函數(Aggregate Function)   MySQL(5.7 ) 官方文檔中給出的聚合函數列表(圖片)如下: 詳情點擊https://dev.mysql.com/doc/refman/5

SQL重復記錄查詢-count與group by having結合查詢重復記錄

nbsp 根據 iteye sele rul 判斷 select pro .net 查找表中多余的重復記錄,重復記錄是根據單個字段(peopleId)來判斷select * from peoplewhere peopleId in (select peopleId fr

可以這樣去理解group by聚合函數

分享圖片 大牛 === 虛擬表 adding lpad highlight mage syntax 可以這樣去理解group by和聚合函數轉自 http://www.cnblogs.com/wiseblog/articles/4475936.html寫在前面的話:用了好久

group by + having的查詢

          group by:把資料分為多個邏輯組,並對每個邏輯進行操作。          &n

mongodb group by操作

原文連結:https://www.mkyong.com/mongodb/mongodb-group-count-and-sort-example/ 1. Test Data A whois_range collection, containing many records

group by ,having, 聚合函式的使用

前言: 在此之前對資料庫中的group by 和having以及聚合函式一起使用的規則很模糊,今天特意總結了三者之間的使用規則,希望也能幫助到各位。             

關於GROUP BY聚合函式

轉自 http://www.cnblogs.com/wiseblog/articles/4475936.html 寫在前面的話:用了好久group by,今天早上一覺醒來,突然感覺group by好陌生,總有個筋別不過來,為什麼不能夠select * from Tabl

MySql含有GROUP BY子句的查詢中如何顯示COUNT()為0的結果

前階段工作中發現MySql含有GROUP BY子句的查詢中COUNT()為0的結果不顯示. 而針對於分組統計的此類問題,多數人(包括本人)通常會想到: SELECT PID,COUNT(1) AS SUM FROM SS WHERE FIAG = 1 GROUP BY PID

java中mongodb常用的aggregate聚合查詢操作

      最近因為專案需要,用到了MongoDB,之前只用過關係型資料庫,第一次專案中用到,有一點點心得和收穫,記錄一下。 MongoDB 是一種文件型數s庫,裡面分為資料庫(DBs)和集合(Collections),分別相當於SQL的資料庫和

含有GROUP BY子句的查詢中如何顯示COUNT()為0的結果 SELECT語句完整的執行順序

含有GROUP BY子句的查詢中如何顯示COUNT()為0的結果 本文我們主要介紹了SQL Server資料庫中在使用GROUP BY對查詢出的結果進行分組時,COUNT()為0的結果無法顯示的解決方法,希望能夠對您有所幫助。 在SQL Server資料庫查詢中,為

GROUP BY聚合函式 使用注意點

原地址:http://www.cnblogs.com/jinianjun/archive/2012/06/14/2549735.html 表的設計: 表裡面的內容: 一:在不使用聚合函式的時候,group by 子句中必須包含所有的列,否則會報錯,如下 select name,MON from [

group by聚合函式的使用

insert into test values(1,'a','甲')insert into test values(1,'a','甲')insert into test values(1,'a','甲')insert into test values(1,'a','甲')insert into test va

mysql中group by分組後查詢資料補0;

mysql經常會用到Group By來進行分組查詢,但也經常會遇到一個問題,就是當有where條件時,被where條件過濾的資料不顯示了。 例如我有一組資料: 我想查詢當日領取數量和當日核銷數量;

MYSQL使用group by時,查詢結果的總記錄數

在使用group by時 select count(*) from partner.gs_user_info u group by u.username,u.game;查詢結果如下: count計算的數量是每個group by的結果的數量,並不是我要的查詢記錄數的數量

mysql group_concat配合group by實現分組查詢

首先介紹下group_concat()這個函式:group_concat()會計算哪些行屬於同一組,將屬於同一組的列顯示出來。要返回哪些列,由函數引數(就是欄位名)決定。分組必須有個標準,就是根據group by指定的列進行分組。測試下:    表結構            

mongodb group by 多欄位/distinct等

aggregate [                     [                         '$match' => [                             'create_time' => [            

group by聚合函式

group by 的基本用法                                                                                                                            

按照日期統計每天使用者數量

count(distinct userNum) as newcount,date(from_unixtime(addtime))as timeFROM `userlist`group by date(from_unixtime(addtime)) 按照月份 SELECT from_unixtime(addt

統計兩個日期之間的資料平均數,總數。。。,無資料也要顯示日期資料預設顯示為0。

JAVA開發時有這麼一個需求:給一個開始時間和一個結束時間,顯示這段時間內每一天的資料,這個SQL語句並不大難(用一個GROUP BY就可以搞得定),關鍵點在於前臺頁面要顯示折線圖,所以沒有資料時日期也是要顯示的。在網上查了很多資料後,現總結如下,方便自己,也給大家提供一個思