Mysql 以前每个月表中的SQL计数

Mysql 以前每个月表中的SQL计数,mysql,sql,count,Mysql,Sql,Count,早上好 我试着根据月份统计“audit\u process\u completed”列中“audit”表中的行数。“audit\u process\u completed”列中的值是日期格式:YYYY-MM-DD。要获取当前月份的计数,我使用下面的代码。有没有一种功能或可能性可以说:MONTHCURDATE-1等等?我想统计一下过去六个月的每一次 编辑:我已经从另一个功能的月份值,如一月->01可用。可能我可以将此值用于选择函数 Expected output是“audit\u process\

早上好

我试着根据月份统计“audit\u process\u completed”列中“audit”表中的行数。“audit\u process\u completed”列中的值是日期格式:YYYY-MM-DD。要获取当前月份的计数,我使用下面的代码。有没有一种功能或可能性可以说:MONTHCURDATE-1等等?我想统计一下过去六个月的每一次

编辑:我已经从另一个功能的月份值,如一月->01可用。可能我可以将此值用于选择函数

Expected output是“audit\u process\u completed”列中的日期在所选内容中的行数

开发环境:MySQL Xampp Local

SELECT count(*) 
FROM `audit` 
WHERE uid = 10 
 AND cid = 12345 
 AND MONTH(`audit_process_completed`) = MONTH(CURDATE()) 
 AND YEAR(`audit_process_completed`) = YEAR(CURDATE())


您可以添加更多具有不同月间隔减法的输出字段。

我不确定是否完全理解您的请求。我的查询获取从当前月份-7到当前月份-1的月份,并显示它们的计数。为了得到月份,我们需要一些计算。为了每月得到一个结果行,我们需要分组


哪些SQL正在使用MySQL、SQL Server?还向我们展示了预期的输出。目前我正在使用MySQLI的本地Xammp服务器上,我不明白。是否显示最近六个月累计计数的一行?或者在过去的六个月内每月一行,但每个月的上一个月的计数?还是别的什么?对不起,也许我说得不够具体。我只希望选择中的行数总和。我将使用六个SQL查询=>CurrentMonths-1、CurrentMonths-2,依此类推。我使用这些数据作为条形图的输入。这对你来说更清楚吗?很好用。非常感谢。这就是我想要的:谢谢你,托尔斯滕!Akina已经帮我完成了所需的查询。
SELECT SUM(    MONTH(`audit_process_completed`) = MONTH(CURDATE()) 
           AND YEAR(`audit_process_completed`) = YEAR(CURDATE())) AS count_this_month,
       SUM(    MONTH(`audit_process_completed`) = MONTH(CURDATE() - INTERVAL 1 MONTH) 
           AND YEAR(`audit_process_completed`) = YEAR(CURDATE() - INTERVAL 1 MONTH)) AS count_prev_month
FROM `audit` 
WHERE uid = 10 
 AND cid = 12345 
SELECT
 YEAR(audit_process_completed) AS year,
 MONTH(audit_process_completed) AS month,
 COUNT(*) 
FROM audit
WHERE uid = 10 
 AND cid = 12345 
 AND audit_process_completed >= LAST_DAY(current_date) + INTERVAL 1 day - INTERVAL 8 month
 AND audit_process_completed < LAST_DAY(current_date) + INTERVAL 1 day - INTERVAL 1 month
GROUP BY
 YEAR(audit_process_completed),
 MONTH(audit_process_completed)
ORDER BY year, month;