1. 程式人生 > >mysql 按小時統計

mysql 按小時統計

表裡記錄了有時間戳和對應的當年登入的玩家數量,現在希望看到一個月內每個小時,登入玩家的平均數量。

之前是寫的一個指令碼,寫了一個迴圈,每次獲取一個小時的平均數,放在數組裡,再匯出文字。後來覺得比較麻煩,最後還是寫成一個sql語句,讓運營自己去查詢。

select DATE_FORMAT(FROM_UNIXTIME(timekey),'%Y-%m-%d %H'), AVG(onlinenum) from tb_freestyle_onlinecnt where timekey >= UNIX_TIMESTAMP('2018-12-01 00:00:00') and timekey < UNIX_TIMESTAMP('2018-12-03 00:00:00') GROUP BY DATE_FORMAT(FROM_UNIXTIME(timekey),'%Y-%m-%d %H');

就是將時間戳timekey轉為'%Y-%m-%d %H'這種格式的日期,在分組求和,就可以獲得查詢日期內每個小時的平均玩家數量了。