在某一天内选择MySQL数据库中的项目

时间:2012-03-26 21:51:16

标签: mysql sql

我想使用MySQL数据库中的数据创建某一天的项目图表。我有查询

SELECT * FROM activities 
WHERE timestamp BETWEEN UNIX_TIMESTAMP() - 24 * 3600 * 7 
    AND UNIX_TIMESTAMP() - 24 * 3600 * 6

从x天前选择项目(其中7和6可以变化以选择日期),但由于某种原因它在我的数据库中返回一个空集。

3 个答案:

答案 0 :(得分:2)

尝试以下:

 SELECT * FROM activities
 WHERE  date(timestamp) between start_date
 and DATE_SUB(start_date,interval x day))

start_date替换为startdatex with interval

答案 1 :(得分:1)

  1. 检查警告(显示警告)。它可能看起来像这样:

    等级:警告 代码:1292 消息:日期时间值不正确:第13行“timestamp”列的“1332194471”

  2. 如果是DATETIME或TIMESTAMP列:

    SELECT * FROM活动WHERE DATE(时间戳)= DATE(NOW() - INTERVAL x DAY);

答案 2 :(得分:0)

你可以试试这个:

SELECT * FROM 'activities' WHERE 'timestamp'< UNIX_TIMESTAMP() - 24 * 3600 * 7 AND 'timestamp'> UNIX_TIMESTAMP() - 24 * 3600 * 6

我真的不确定,但它可能有用。