d6 增量查询 - 获取最新条目

d6 delta query - get the latest entry

我正在处理一个查询,但我 运行 遇到了增量问题并正在获取最新信息。如果我有一个 table 这样的....

ID | fieldval | delta
1  |        1 |     0
1  |        0 |     1
2  |        1 |     0
2  |        0 |     1
3  |          |     0
3  |        0 |     1
3  |          |     2

我希望获得如下结果:

ID | fieldval | delta
1  |        0 |     1
2  |        0 |     1
3  |        0 |     2

我想要每个 ID 都有一个值的最新增量。我在 postgres 中写这篇文章,但 运行 遇到了一些问题。有什么建议吗?

如果我没看错的话,你可以用distinct on:

select distinct on (id) t.*
from mytable t
order by id, delta desc

您可以使用 distinct on 和过滤获得最大的 delta 值:

select distinct on (id) t.*
from t
where fieldval is not null
order by id, delta desc;

但是,这 return 与您指定的结果不完全相同。