【发布时间】:2019-03-06 00:58:33
【问题描述】:
我正在尝试从上个月的表中选择所有行,基本上就像这个人在问的那样:MySQL select all rows from last month until (now() - 1 month), for comparative purposes
但我在日期列中使用的是 unix 时间戳,所以日期是这样的:1538330400
于是我开始使用(选择日期等于或早于今天的行):
SELECT * FROM ns_trainingame t WHERE t.date <= UNIX_TIMESTAMP(NOW());
它工作得很好。
然后,经过一些研究,我发现有些人使用一些代码来解决我的问题。
SELECT *
FROM ns_trainingame t
WHERE t.date >= UNIX_TIMESTAMP(DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY))
AND t.date <= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MONTH))");
但是在这些条件下给了我错误的行数。
我能做什么?
【问题讨论】:
-
仅供参考
UNIX_TIMESTAMP(NOW())与UNIX_TIMESTAMP()相同 -
您是要获取上个月(8 月)还是上个月(8 月 30 日至 9 月 30 日)的结果?
-
@Nick(8 月 30 日至 9 月 30 日)
标签: php mysql unix-timestamp