选择日期BETWEEN日期与间隔

时间:2017-07-01 04:38:00

标签: 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天的行。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:3)

您可以使用以下内容获取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

同样,您可以使用以下内容获取超过30天的行。

SELECT count(date) as date
FROM `inv`
WHERE user_id=2
AND date < CURDATE() - INTERVAL 30 DAY

答案 1 :(得分:0)

试试这个

SELECT * FROM "table name" WHERE "user_id=2" 
                         BETWEEN  CURDATE() - INTERVAL 30 DAY
                         AND   CURDATE() - INTERVAL 15 DAY