首页 > 解决方案 > 特定日期统计了多少条记录

问题描述

是否可以在 DB2 中检查过去特定日期在特定表中计算了多少条记录

我有一个名为“XYZ”的表,我想检查特定日期的行数,例如 10.09.2020、05.09.2020 和 01.09.2020

标签: sqldb2db2-luw

解决方案


在普通的 SQL 中,没有特殊规定,不,你不能!

根据您的使用场景,有几种方法可以实现此功能。以下是我能想到的三个:

  1. 如果您的表有一个时间戳字段,或者您可以添加一个并且您可以保证不会删除任何行:您可以只计算时间戳小于所需日期的行。便宜,性能明智,但删除可能会使这成为不可能。

  2. 您可以设置一个每天运行的过程并计算您的行数以将它们写入不同的表中。从性能的角度来看,这辆面包车也相当便宜,但您将受限于预先配置的特定“快照”时间,并且您可能会遇到计数过程未运行因此数据丢失的情况。

  3. 您可以在您感兴趣的表上创建一个审计表和一个触发器,以使用时间戳记录表上的每个插入和删除操作。这是性能最繁重的解决方案,但也是唯一能让您在任何给定时间始终全面了解行数的解决方案。


推荐阅读