假設表格 record 有個欄位 created_time, 型別為 timestamp。若要統計 2010-02-10 一整天每半小時產生的的資料量, SQL 可以這麼寫:
SELECT HOUR(created_time) AS h, FLOOR(MINUTE(created_time) / 30) AS v, COUNT(*) FROM record WHERE AND created_time >= '2010-02-10' AND created_time < FROM_DAYS(TO_DAYS('2010-02-10') + 1) GROUP BY h, v;
MySQL 有許多計算時間的函式, 像 hour 會取出小時, 但沒有取出半小時或「每十分鐘」的函式。但可以自己用分鐘除以 30, 再套 FLOOR (下界) 將時間轉為 0, 1。
沒有留言:
張貼留言