Mysql按日、周、月進行分組統計


  我們在用Mysql抽取數據時候,經常需要按照天、周、月等不同的粒度對數據進行分組統計。而我們的時間可能是“2017/12/5 0:0:0”這種准確的時間。所以在進行分組之前我們需要對時間進行一下處理。

DATE_FORMAT是MySQL內置的一個函數,作用是以不同的格式顯示日期/時間數據。具體的語法如下:

DATE_FORMAT(date,format),其中

date:合法的日期。format:規定日期/時間的輸出格式,其中format可使用的格式見文末鏈接。

下面我們通過具體例子來看如何通過DATE_FORMAT進行分組統計:

下表兩列分別代表產品買出的准確時間(精確到秒),和買出的產品類型。

start_time product_no
2017/12/1 00:00:11 2A
2017/12/3 07:51:11 3C
2017/12/3 07:59:25 3C
2017/12/5 15:40:45 6C
現在我們需要對每天,每周,每月各個產品的銷量進行統計,

1)按天統計:

select DATE_FORMAT(start_time,'%Y%m%d') days,count(product_no) count from test group by days; 

2)按周統計:

select DATE_FORMAT(start_time,'%Y%u') weeks,count(product_no) count from test group by weeks; 

3)按月統計:

select DATE_FORMAT(start_time,'%Y%m') months,count(product_no) count from test group bymonths; 

 

官網 DATE_FROMAT 函數

官網日期時間函數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM