我有一个使用Flask,flask_sqlalchemy和sqlite3 db构建的应用程序。我正在构建分析页面,我想统计每个月表中的记录数。包含记录的表具有DATETIME列。我有一些代码可以生成本月和上个月的比较日期-下面
today_date = datetime.now()
first_month_date = today_date.replace(day=1)
end_last_month = first_month_date - timedelta(days=1)
end_last_month_temp = end_last_month
start_last_month = end_last_month_temp.replace(day=1)
使用sqlalchemy过滤器功能,我可以使用第一个月的日期来过滤本月的记录,而使用end&start上个月的变量来过滤上个月的记录。
基于此,我认为有可能编写一个for循环,该循环将向后查找下一个日期并查询db以获取记录数。循环知道何时遇到的记录达到该表的总行数时停止。
我认为这不是有效的解决方案。是否有关于如何以一种更简洁的方式按月对表中的所有记录进行计数的想法?也许是在sqlalchemy中鲜为人知的函数,甚至可以在查询中包含lambda函数?