Mysql 查詢一天中每半小時記錄的數量

2021-08-31 21:15:31 字數 765 閱讀 3314

select hour(cdate)as hour,floor(minute(cdate)/30) as m, count(*) as count 

from error_log 

where e.date = '2017-09-02' 

group by floor(minute(cdate)/30),hour(cdate) 

order by hour(cdate);

floor函式是mysql 的向下取整函式 如 floor(1.2) = 1 

date(cdate),取出年月日;

hour(cdate),取出小時;

minute(cdate),取出分鐘;

計算(minute(cdate))/30 )*30,結果為0或30;

floor( (minute(cdate))/30 )*30), 處理成整數;

concat(date(cdate),' ',hour(cdate),':',floor( (minute(cdate))/30 )*30) ,按照日期格式進行拼接

date_format( concat(date(cdate),' ',hour(cdate),':',floor( minute(cdate)/30 )*30+12) ,'%y-%m-%d %h:%i') ,轉換成date型別

附上幾個專案中用到的php函式

number_format() 函式通過千位分組來格式化數字

sprintf()  把百分號(%)符號替換成乙個作為引數進行傳遞的變數

參考案例

mysql查詢上一天 上一小時的資料

檢視當前日期 select current date 返回結果 2015 01 26 select now 返回結果 2015 01 26 11 57 52 date sub 函式從日期減去指定的時間間隔。date sub date,interval expr type 具體可參考 from uni...

演算法 將一天24小時按每半小劃分成48段

將一天24小時按每半小劃分成48段,我們用乙個位圖表示選中的時間區間,例如110000000000000000000000000000000000000000000000,表示第乙個半小時和第二個半小時被選中了,其餘時間段都沒有被選中,也就是對應00 00 01 00這個時間區間。乙個點陣圖中可能有...

Mysql 按時間段 某一天 查詢

今天 select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where datediff 字段,now 1 本週 select name,submittime from enterprise where yearweek d...