上次的隨筆1中寫的分組方式,經分析,是從前往後進行分組,即若選擇2014的資料進行統計每11天為一組的話,1的分組方式,
按照2014-01-01——2014-01-11為一組,之後每11天為一組。
但如果想按以最近11天為一組的話,就要使用下面的sql進行查詢,
sql中的關鍵是groupnum的獲取,year(date)* 1000 為區分年份;
( dayofyear(date)+11 - mod(dayofyear(curdate()) ,11)
) div 11 下劃線部分為增加的偏移量,以滿足按照最近11天進行分組
注:按照上面的表示式計算出的groupnum進行分組,是不包含當天進行的統計,如果想要包括當天的資料,則下劃線部分的值減1即可。
1select
2 job_id as
jobid,
3sum(count)as
totalnum,
4count(job_id)as
countnum,5(
6year(date)*
1000+(
7 dayofyear(date)+
11- mod(dayofyear(curdate()) ,11
)8 )div 11
9 )as
groupnum
10from
11job_logs
12where
13year(date)>
2013
14group
by15 groupnum
Mysql按天分組(按日分組)
select date format date created,y m d as day,sum order price as sumtol from dn sale where sale person id 1 group by date format date created,y m d 根據f...
Mysql按日 周 月進行分組統計
我們在用mysql抽取資料時候,經常需要按照天 周 月等不同的粒度對資料進行分組統計。而我們的時間可能是 2017 12 5 0 0 0 這種準確的時間。所以在進行分組之前我們需要對時間進行一下處理。date format是mysql內建的乙個函式,作用是以不同的格式顯示日期 時間資料。具體的語法如...
mysql 按日期分組
select date format now y m d days,count caseid count from tc case group by days date format是可以把一些時間格式轉化為你所需的時間格式,now 是2015 09 05 12 33 33,然後變為20150905...