d6 增量查询 - 获取最新条目
Posted
技术标签:
【中文标题】d6 增量查询 - 获取最新条目【英文标题】:d6 delta query - get the latest entry 【发布时间】:2021-03-16 18:10:34 【问题描述】:我正在处理一个查询,但我遇到了增量问题并获取最新信息。如果我有这样的桌子......
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 中写这个,但遇到了一些问题。有什么建议吗?
【问题讨论】:
我不明白行的逻辑。请解释“我想要每个 ID 都有一个值的最新增量”以及0
是结果集中三行中每一行的值。
【参考方案1】:
您可以使用distinct on
和过滤获得最大的delta
值:
select distinct on (id) t.*
from t
where fieldval is not null
order by id, delta desc;
但是,这并不能完全返回您指定的结果。
【讨论】:
【参考方案2】:如果我没听错,你可以使用distinct on
:
select distinct on (id) t.*
from mytable t
order by id, delta desc
【讨论】:
以上是关于d6 增量查询 - 获取最新条目的主要内容,如果未能解决你的问题,请参考以下文章
MySQL查询从具有1000万行的表中获取每个条目的最新记录