mysql - SELECT date BETWEEN dates with interval 日期

标签 mysql

我的数据库中有一个日期列。我使用 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/

相关文章:

php - 使用 php 从数据库中提取日期的问题 - 所有日期都相同

mysql - 连接 3 个表,其中 1 个表行成为列

mysql - 如何将 Apache Spark 与 MySQL 集成以将数据库表作为 spark 数据框读取?

mysql - 如何在 MySQL 中删除此索引?

mysql - 在表中插入值

c# - 澄清两列同名

mysql - 如何改进这个一对多 ActiveRecord 数据模型?

php - 将 "curly"引号与数据库查询中的标准引号匹配

mysql - 通过 MySql 进行 SVN Web 身份验证

mysql - 在 Mule 中限制 Mule 消息