因此,为了获得最近 24 小时的查询,我使用类似这样的东西
SELECT COUNT(*) AS cnt FROM `mytable` WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 1 DAY)
wheretimestamp
是带有时间戳的表字段。
但是我怎样才能得到2天前和昨天之间的间隔。所以
今天是 24 岁。我想在 22 ian (00:00am) 和 23 ian (00:00am) 之间查询
WHERE timestamp BETWEEN
DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY)
您也可以尝试DATE_ADD
使用负间隔;)
WHERE timestamp BETWEEN
DATE_ADD(DATE(NOW()), INTERVAL -2 DAY)
AND DATE_ADD(DATE(NOW()), INTERVAL -1 DAY)
Interval
WHERE `timestamp`
BETWEEN DATE_SUB(NOW(), INTERVAL 2 DAY)
AND DATE_SUB(NOW(), INTERVAL 1 DAY)
如果您想在 1 月 22 日(上午 00:00)和 1 月 22 日(晚上 11:59)之间进行查询
where DATE(timestamp) = DATE_SUB(DATE(now()), INTERVAL 2 day);
示例:timestamp = 2020-02-24 12:07:19 并且 Date(timestamp) 是 2020-02-24 并且now()
输出是当前日期和我们使用的时间,DATE(now())
然后输出是 Date only,
DATE_SUB(DATE(now()), INTERVAL 2 day)
将是 2 天前。
试试BETWEEN
::
SELECT
COUNT(*) AS cnt
FROM `mytable`
WHERE timestamp BETWEEN DATE_SUB(NOW(), INTERVAL 2 DAY) and DATE_SUB(NOW(), INTERVAL 1 DAY)