MySql 求一段時間範圍內的每一天,每一小時,每一分鐘

來源:互聯網
上載者:User

標籤:協助   now()   val   _for   系統   函數   擷取   set   關聯   

平常經常會求一段時間內的每一天統計資料,或者每一時點的統計資料。但是mysql本身是沒有直接擷取時點列表的函數或表。下面是自己用到的一些方法,利用臨時變數和一個已存在的比較多資料(這個需要根據實際情況決定)的表做關聯得到時點列表。希望對大家有所協助。

sql中用到的一些關鍵資料

#t_table表是系統上已存在的一個有比較多資料的表

一個月的每一天

#2017年7月份的每一天SET @beginDate=‘2017-07-01‘;SET @maxDate =‘2017-07-31‘;SELECT DATE(@tempDay),@tempDay:=DATE_ADD(@tempDay,INTERVAL 1 DAY)FROM t_table f #該表是系統上已存在的一個有比較多資料的表LEFT JOIN (SELECT @tempDay:=@beginDate) b  ON 1=1WHERE @tempDay<=@maxDate

 

昨天的每一小時

#昨天的每一小時SET @beginDate=DATE(DATE_ADD(NOW(),INTERVAL -1 DAY));SET @maxDate =DATE(NOW());SELECT DATE_FORMAT(@tempHour ,‘%H‘),@tempHour :=DATE_ADD(@tempHour,INTERVAL 1 HOUR)FROM t_table fLEFT JOIN (SELECT @tempHour :=@beginDate) b  ON 1=1WHERE @tempHour <@maxDate

 

一小時內的每一分鐘

#一小時內的每一分鐘SET @beginDate=‘2017-08-01 17:00:00‘;SET @maxDate =‘2017-08-01 18:00:00‘;SELECT DATE_FORMAT(@tempMinute ,‘%i‘),@tempMinute :=DATE_ADD(@tempMinute,INTERVAL 1 MINUTE)FROM t_table tLEFT JOIN (SELECT @tempMinute :=@beginDate) b  ON 1=1WHERE @tempMinute <@maxDate

 

MySql 求一段時間範圍內的每一天,每一小時,每一分鐘

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.