【发布时间】:2020-11-01 12:28:38
【问题描述】:
我有一个包含以下列的 SQLite 表:
- 时间戳
- 身份证
- 价值
我想编写一个查询 - 对于每个 id - 列出具有该时间戳值的最新时间戳,以及每个 id 的最大值。
为此,我编写了以下按预期工作的查询。
SELECT timestamp, MAX(value) as max, id, value from (
SELECT * from temperatures order by timestamp DESC
) GROUP BY ID;
当我现在还想计算最小值时,我改变了查询:
SELECT timestamp, MAX(value) as max, MIN(value) as min, id, value from (
SELECT * from temperatures order by timestamp DESC
) GROUP BY ID;
现在的问题是时间戳不再是最新的时间戳了。这是为什么呢?
【问题讨论】:
-
您说您的第一个查询按预期工作,但此查询不返回具有最新时间戳的行的
value。它返回具有最大值的行的timestamp。