gpt4 book ai didi

sql - 选择最新的测量结果

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:24 25 4
gpt4 key购买 nike

我有一个 PostgreSQL包含测量结果的数据库表。每个测量都有一个执行测量的时间列、一个包含该测量结果的指标列和一个标识被测量对象的标识符。

由于表格包含同一对象的多个测量值,我只想选择每个对象的最新测量值。

我的方法是按标识符和困惑时间降序排列,最后消除重复项,只保留每个标识符的第一行。我也只希望返回指标列。它是怎么做到的?

SELECT DISTINCT ON(id) FROM measurements ORDER by id, messon DESC LIMIT 10;

不仅这个查询需要一段时间,结果行也只有波浪号 (~) 符号:

(10 rows)

~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~

我正在使用 Ubuntu .

最佳答案

你忘了说你想看哪些列:

SELECT DISTINCT ON(id) * FROM measurements ORDER by id, messon DESC LIMIT 10;

注意声明中的星号。

关于速度问题,你有没有创建一个ordered index在 id 和 messon 列上?

CREATE INDEX CONCURRENTLY id_messon_desc_idx ON measurements (id DESC, messon DESC);

关于sql - 选择最新的测量结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35920099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com