过滤表:在每行之后保留N行,具有特殊值

时间:2015-11-09 16:13:43

标签: sql postgresql

我有一个包含大量数据的表格(简化):

+--------+-------------------------+-------+
| id     | datetime                | type  | 
+--------+-------------------------+-------+
| 1      | 2015-08-13 17:50:41     | 1     |
| 2      | 2015-08-13 17:50:45     | 0     |
| 3      | 2015-08-14 17:50:56     | 0     |
| 4      | 2015-08-14 17:50:59     | 0     |
+--------+-------------------------+-------+

type = 1的行后跟许多type = 0

的行

我需要做一个聪明的清洁:

  • 我希望在一小时内(在类型1行时间戳之后)保留type = 1的行之后保留type = 0的行
  • 至少有一行,每小时类型= 0

我不知道是否可以通过查询执行此操作,或者我是否必须使用脚本遍历所有行。

我使用PostgreSQL

1 个答案:

答案 0 :(得分:0)

我这里没有postgres来测试,但这应该返回你想保留的所有数据:

@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@idType")
to
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id")