Python 如何高效地跨X个天数运行相同的查询?

Python 如何高效地跨X个天数运行相同的查询?,python,mysql,Python,Mysql,我们有一个MySQL数据库,用来衡量自动化测试的成功与失败。现在我们需要查询数据库,找出每天发生的故障数量以及原因。到目前为止,我提出的问题大致如下: select * from failures where time >= '{time}' and time <= '{time} 23:59:59' and cause = '{fail_type} failed' select*from failures 其中time>='{time}'和time如果您发布一个示例输出,它将帮

我们有一个MySQL数据库,用来衡量自动化测试的成功与失败。现在我们需要查询数据库,找出每天发生的故障数量以及原因。到目前为止,我提出的问题大致如下:

select * from failures 
where time >= '{time}' and time <= '{time} 23:59:59' and cause = '{fail_type} failed'
select*from failures

其中time>='{time}'和time如果您发布一个示例输出,它将帮助我们了解更多。您可以按故障类型分组,并在where子句中设置日期间隔

比如:

SELECT * from tbl_failures
WHERE (cause = '{fail_type} failed') AND (date_field between date_sub(curdate(), interval 7 day) and curdate()))
Group by tbl_failures.Type
7天图表的相同查询:

SELECT * from tbl_failures
WHERE (cause = '{fail_type} failed') AND (date_field between date_sub(curdate(), interval 1 week) and curdate()))
Group by tbl_failures.Type
等等

编辑
增加了日期范围。使用介于之间的日期,您可以回顾特定的范围,例如一周、一个月,不包括其他所有内容。

为什么不按“天”分组?从db获取原始聚合,而不是询问db 56次?还是我遗漏了什么?我已经有好几年没有深入研究SQL了。你能举个例子吗?你的意思是你想看到过去1天、7天和56天的失败?您的表中有日期字段吗?@krish-是的,我的表中有日期字段。@MikeDriscoll希望这对您有所帮助示例输出可能没有帮助。但我刚刚运行了它,它返回了51L,这意味着我们有51个失败添加了范围之间的日期尝试此查询并根据您的需要进行改进我的一位同事最终编写了一些与此答案非常相似的SQL。谢谢你的帮助!