MYSQL 30天查询

时间:2013-01-21 15:26:22

标签: mysql

我有这样的疑问:

SELECT COUNT( * ) 
FROM `reportinc` 
WHERE `Data/ora apertura` >=  '21/01/13 00:00:00' 
    AND `Data/ora apertura` <= '21/01/13 18:00:00'

我必须在今天过去30天后重复此查询。 如何实现自动化?

而不是白天:21/01/13我必须插入类似TODAY -1,TODAY -2等的东西,但是我自己指定的时间戳。

如何?

3 个答案:

答案 0 :(得分:0)

这样的事情:

WHERE `Data/ora apertura` >= CURRENT_DATE - INTERVAL 2 DAY
  AND `Data/ora apertura` <= CURRENT_DATE - INTERVAL 1 DAY
                                          + INTERVAL '18:00:00' HOUR_SECOND

答案 1 :(得分:0)

 SELECT    TO_DAYS(NOW()) - TO_DAYS(your_table_column_name) <= 30;

或使用DATEDIFF

mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
        -> 1

答案 2 :(得分:0)

您可以使用BETWEEN

SELECT COUNT( * ) 
FROM `reportinc`
WHERE `Data/ora apertura` 
BETWEEN 
    CURRENT_DATE - INTERVAL 2 DAY 
AND 
    CURRENT_DATE - INTERVAL 1 DAY + '18:00:00'