我的数据库中有一个日期列。我使用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天的行。有人可以帮我这个吗?
答案 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