首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >属性最高值的限制查询

属性最高值的限制查询
EN

Stack Overflow用户
提问于 2017-11-07 13:31:13
回答 1查看 38关注 0票数 0

我有一个具有以下列和值的模型Teststep

代码语言:javascript
复制
+----------+----------+---------------+----------+
|   name   | sequence | inner_sequnce | revision |
+----------+----------+---------------+----------+
| Step A   |        1 |             1 |        1 |
| Step B   |        1 |             2 |        1 |
| Step B-2 |        1 |             2 |        2 |
| Step C   |        1 |             3 |        1 |
| Step D   |        2 |             1 |        1 |
+----------+----------+---------------+----------+

现在,我希望使用sequence 1进行所有测试步骤,但只需要最高的修订版。因此,在这种情况下,它将包括Step AStep B-2Step C

使用正确的sequence获取测试步骤的查询很简单:

Teststep.where(sequence: 1)

但是,如何确保只返回Step B-2,而不返回Step BStep B-2Step B

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-07 13:56:48

您希望创建子查询并使用聚合:

代码语言:javascript
复制
SELECT * FROM teststeps
WHERE
   teststeps.sequence = 1
AND 
   teststeps.revision = (SELECT MAX(teststeps.revision) WHERE teststeps.sequence = 1)

坏消息是,如何做到这一点的具体细节取决于所使用的RDBMS。

在Rails中,您可以执行如下操作:

代码语言:javascript
复制
Teststep.where(sequence: 1)
        .where(revision: Teststep.where(sequence: 1).maximum(:revision))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47159255

复制
相关文章

相似问题

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