MySQL是一种著名的关系型数据库管理系统,对于进行数据分析的人来说,计算某段时间内的通过率是常见的需求之一。本文将介绍如何使用MySQL计算近7天的通过率。
SELECT
CONCAT(
DATE_FORMAT(date_column, '%Y-%m-%d'),
' to ',
DATE_FORMAT(DATE_SUB(date_column, INTERVAL -6 DAY), '%Y-%m-%d')
) AS DATE_RANGE,
ROUND(SUM(CASE WHEN condition_column = 'passed' THEN 1 ELSE 0 END) / COUNT(*), 2) AS PASS_RATE
FROM table_name
WHERE date_column >= DATE_SUB(CURRENT_DATE, INTERVAL 6 DAY)
GROUP BY DATE(date_column)
ORDER BY date_column ASC;
以上是用于计算近7天通过率的MySQL代码。其中,date_column
代表存储日期的列名,condition_column
代表存储条件的列名,'passed'
代表通过的条件。通过DATE_SUB(CURRENT_DATE, INTERVAL 6 DAY)
可以筛选出近7天内的数据,GROUP BY DATE(date_column)
可以按日期分组,ROUND()
函数可以保留两位小数。
上述代码可以应用于任何需要计算通过率的场景,例如考试通过率、网站用户行为合规率等等。通过MySQL的灵活查询语句,我们可以轻松地完成复杂的数据分析任务。