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 与您指定的结果不完全相同。
我正在处理一个查询,但我 运行 遇到了增量问题并正在获取最新信息。如果我有一个 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 与您指定的结果不完全相同。