首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择最后一组数据

选择最后一组数据
EN

Stack Overflow用户
提问于 2012-11-13 17:51:15
回答 3查看 104关注 0票数 1

我有一张这样的桌子

测量

代码语言:javascript
复制
id    object_id   generated_at (v)    
110   4           2012-11-13 10:29:00   
109   4           2012-11-13 10:28:00   
108   4           2012-11-13 10:27:00
107   3           2012-11-13 10:26:00
106   3           2012-11-13 10:25:00
105   4           2012-11-13 10:24:00
104   4           2012-11-13 10:23:00
103   1           2012-11-13 10:22:00
102   1           2012-11-13 10:21:00
...

generated_at列排序。

我的问题是:有没有能力选择

代码语言:javascript
复制
id    object_id   generated_at (v)    
110   4           2012-11-13 10:29:00   
109   4           2012-11-13 10:28:00   
108   4           2012-11-13 10:27:00

最后一组(由generated_at排序)相同object_id的测量?

它可以是rails中用于度量模型的示例,或者只是SQL查询,谢谢您的帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-13 18:15:13

你最初的问题显然是想要对象在最近的组中,而不是所有的对象。为此,需要计算其他对象的最大对象id和最大生成时间:

代码语言:javascript
复制
select *
from t cross join
     (select max(object_id) maxobject_id from t) maxt
where object_id = maxt.maxobject_id and
      generated_at > (select max(generated_at) from t where object_id <> maxt.maxobject_id)
票数 2
EN

Stack Overflow用户

发布于 2012-11-13 17:57:58

我相信这会成功的:SELECT * FROM table WHERE object_id = (SELECT MAX(object_id) FROM table)

票数 0
EN

Stack Overflow用户

发布于 2012-11-13 18:29:04

以下查询将获得结果:

代码语言:javascript
复制
select * from Measurements
left join Measurements as M2
on
(M2.generated_at > Measurements.generated_at and M2.object_id <> Measurements.object_id)
where 
M2.id IS NULL
and
Measurements.object_id = 
(select object_id from Measurements where generated_at = (select MAX(generated_at) from Measurements))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13365982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档