我正在使用 PostgreSql 并尝试为我的日志构建报告查询,但不幸的是没有成功......基本上我有 LOG 表,它记录其他实体的状态变化。所以为了简单起见,假设它有列 STATUS 和 STATUS_CHANGE_DATE。现在,每次状态更改都会使用新状态和更改时间更新此日志记录表。我需要的是每个状态的持续时间和次数状态(可以多次使用相同的状态,例如从状态 1 到 2,然后返回到 1)。我想为它构建一个视图,并通过将该视图权限映射到休眠实体来在我的 java 应用程序报告中使用。不幸的是,我对 sql 没有那么丰富的经验,所以也许有人可以给我一些提示,告诉我什么是最好的解决方案,因为我尝试了一些事情,但基本上不知道该怎么做。假设我们有:
STATUS STATUS_CHANGE_DATE
1 2013 01 01
2 2013 01 03
1 2013 01 06
3 2013 01 07
我想要的结果将是一个包含状态 1 的表,其中包含 2 次和 3 天的持续时间,状态 2 1 时间也包含 3 天的持续时间(假设状态 3 是结束(或关闭)并且它的持续时间不是必需的)。
有任何想法吗?