【发布时间】:2014-01-23 21:47:36
【问题描述】:
我正在尝试从相对于NOW 1 个月大的表中提取记录。对于具有 sql 日期的表,这似乎很容易,例如:WHERE DocDate>=CURDATE() - INTERVAL 1 MONTH
但此表中的日期表示为 unix 时间戳,这似乎并不简单。到目前为止,我已经测试了以下内容:
SELECT articleviewed, COUNT(articleviewed) AS Viewed, articleviewedtitle, timestampx
FROM swdata.uos_swkb_stats_views
WHERE timestampx <= CURRENT_TIMESTAMP AND timestampx >= 1389004991
GROUP BY articleviewed
ORDER BY Viewed DESC
没关系,但我需要 timestampx >= 1389004991 相对于 NOW。
以下产生不正确的结果或不正确的语法
WHERE timestampx <= CURRENT_TIMESTAMP AND timestampx >= CURRENT_TIMESTAMP - 1 MONTH
WHERE timestampx <= CURRENT_TIMESTAMP - INTERVAL 1 MONTH
一位同事提供了以下似乎工作正常的解决方案,显然我需要按如下方式转换/定义时间戳。
WHERE timestampx >=(unix_timestamp(CURDATE() - INTERVAL 1 MONTH))
【问题讨论】:
-
你的数据库引擎是,...,?
-
mySQL,对不起,我是 Stack 和编程的新手。