我的数据库中有一个日期列。我使用 SELECT COUNT 来计算今天和 15 天前之间的行数:
SELECT count(date) as date
FROM `inv`
WHERE user_id='2'
AND date BETWEEN CURDATE() - INTERVAL 15 DAY
AND CURDATE()
此 SQL 语句有效。但现在我想使用 SELECT COUNT 来计算今天(-15 天)和 30 天前之间的行。但是当我尝试以下语句时出现错误:
SELECT count(date) as date
FROM `inv`
WHERE user_id='2'
AND date BETWEEN date(CURDATE(),INTERVAL -15 day)
AND date(CURDATE(),INTERVAL -30 day)
我还想知道如何选择日期超过 30 天前的行。有人可以帮我解决这个问题吗?
最佳答案
您可以使用下面的方法获取 15 到 30 天之间的行。
SELECT count(date) as date
FROM `inv`
WHERE user_id=2
AND date BETWEEN CURDATE() - INTERVAL 30 DAY
AND CURDATE() - INTERVAL 15 DAY
同样,您可以使用 below 来获取超过 30 天的行。
SELECT count(date) as date
FROM `inv`
WHERE user_id=2
AND date < CURDATE() - INTERVAL 30 DAY
关于mysql - SELECT date BETWEEN dates with interval 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44857375/