簡體   English   中英

在MySQL中選擇按小時分組的日期/時間分組

[英]Select date/time groupings in MySQL grouped by hour

我在mysql表中有一堆日期數據,如下所示:

2010-02-13 1:00:00, "soma data"
2010-02-13 1:25:00, "soma data"
2010-02-13 1:37:00, "soma data"
2010-02-13 2:12:00, "soma data"

我想選擇一個顯示按小時分組的數據的報告,例如:

On Feb 13, during the hour from 1:00 pm to 1:59 pm, there were 3 data points.
On Feb 13, during the hour from 2:00 pm to 2:59 pm, there was 1 data points.
...

基本上我想報告一天中每小時發生的累計記錄數量。 所以最終結果會給我一個10天的報告,以24小時為增量進行分解,這樣我就可以看到在任何給定的一天中任何給定時間內有多少數據。

TIA,希望你能幫忙!

您可能希望使用GROUP BY子句,如以下查詢中所示:

SELECT 
    COUNT(*),
    YEAR(dateTimeField),
    MONTH(dateTimeField),
    DAY(dateTimeField),
    HOUR(dateTimeField)
FROM 
    yourTable
WHERE
    dateTimeField >= '2010-02-04 00:00:00' AND
    dateTimeField < '2010-02-14 00:00:00'
GROUP BY 
    YEAR(dateTimeField), 
    MONTH(dateTimeField),
    DAY(dateTimeField),
    HOUR(dateTimeField);

您可能還需要查看MySQL文檔以獲取有關日期和時間函數的更多參考:

SELECT HOUR(datetime), COUNT(*)
FROM table
GROUP BY HOUR(datetime);

您將獲得兩個字段:小時和該小時內的事件數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM