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 增量查询 - 获取最新条目的主要内容,如果未能解决你的问题,请参考以下文章

用于获取 ID1 的最新条目的 SQL 查询

MySQL查询从具有1000万行的表中获取每个条目的最新记录

Python sqlite3 SQL查询获取具有最新日期但每个唯一列限制的所有条目

MySQL 获取所有商店的最新条目

如何从 HealthKit 数据中获取最新的体重条目

如何从 HealthKit 数据中获取最新的体重条目