月份数据库查询

时间:2017-10-20 01:46:08

标签: mysql sql database

如何查询当前月份的每种类型的状态总数,还可以查询未来几个月的状态总数。两者都是单独的查询。我抬头看谷歌,但我很难应用它。 我正在使用mysql。

我的字段名称是

date                   status
format YYYY/MM/DD      PENDING, ACCEPTED, REJECTED 

我尝试使用但得到SQL语法错误

SELECT * FROM request WHERE (MONTH(date) = MONTH(GETDATE());

2 个答案:

答案 0 :(得分:0)

GETDATE()是SQL Server的一项功能。也许它适用于MySQL函数:

SELECT r.*
FROM request r
WHERE MONTH(date) = MONTH(now());

如果这样做,请认识到它仅指任何一年的日历月。它不一定是当月。

答案 1 :(得分:0)

获取当月的状态:

SELECT
    status
    COUNT(*)
FROM request
WHERE
    MONTH(date) = MONTH(NOW())
GROUP BY status

为了下个月我会使用:

SELECT
    status,
    COUNT(*)
FROM request
WHERE
    MONTH(date) = MONTH(DATE_ADD(LAST_DAY(NOW()), INTERVAL 1 DAY))
GROUP BY status

我们占用当月的最后一天并添加1.只是为了避免使用MONTH(NOW())+1DATE_ADD(NOW(), INTERVAL 30 DAY)

之类的内容