MySQL 是一種常用的關系型數據庫,經常需要對其進行分組。本文介紹如何使用 MySQL 按照 15 分鐘分組。
SELECT CEILING(UNIX_TIMESTAMP(created_at) / (15*60)) as interval_id, COUNT(*) as num_orders FROM orders GROUP BY interval_id;
以上代碼將 orders 表按照 15 分鐘分組,使用 CEILING() 函數將創建訂單的時間轉換為 UNIX 時間戳。然后除以 15 分鐘(即 900 秒)并取整,得到一個間隔 ID。接著使用 COUNT() 函數計算每個間隔中的訂單數。
需要注意的是,要確保 orders 表中的 created_at 列是時間類型或日期時間類型,否則需要使用 STR_TO_DATE() 函數轉換成時間類型。
同時,對于大型的數據集,按照時間間隔分組可能會影響查詢性能。因此,建議在實際使用中根據具體需求進行優化。