Mysql 以前每个月表中的SQL计数
早上好 我试着根据月份统计“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 LocalMysql 以前每个月表中的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\
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;