2011-04-26 177 views
25

我在MySQL中遇到了一個問題。我想獲得兩個日期時間條目之間的記錄數。
例如:
我的表中有一列名爲'created'的數據類型爲datetimemysql:獲取兩個日期時間之間的記錄數

我想計算在「今日4:30 AM」和「當前日期時間」之間創建日期 - 時間的記錄。

我嘗試了一些MySQL的功能,但仍然沒有運氣。

你能幫我解決嗎? 謝謝。

回答

56

可能有:

SELECT count(*) FROM `table` 
where 
    created_at>='2011-03-17 06:42:10' and created_at<='2011-03-17 07:42:50'; 

或使用between

SELECT count(*) FROM `table` 
where 
    created_at between '2011-03-17 06:42:10' and '2011-03-17 07:42:50'; 

您可以更改日期時間根據自己的需要。可以使用curdate()now()來獲得所需的日期。

+10

請注意,訂單事宜,你需要先寫更小的日期時間,然後更大的日期時間 – Hafiz 2012-06-27 10:51:28

+0

如果日期和時間在單獨的列上,該怎麼辦? – 2017-10-28 08:46:11

+0

在這種情況下,您需要結合使用日期和時間條件。例如,如果您想要在一天內過濾一段時間,則日期列將具有相同的條件以及條件之間的時間。在其他情況下,您可以在日期和時間之間過濾獲取這些日期中的所有記錄。 – 2017-10-30 07:05:57

5
select * from yourtable where created < now() and created > '2011-04-25 04:00:00' 
4
select * from yourtable 
    where created < now() 
    and created > concat(curdate(),' 4:30:00 AM') 
相關問題