社区首页 >问答首页 >SQL分组和最大值

SQL分组和最大值
EN

Stack Overflow用户
提问于 2021-03-19 01:17:05
回答 2查看 28关注 0票数 0

这里需要一点帮助。我尝试只返回每个序列号具有最大"rev“的记录,以下是我的示例代码:

代码语言:javascript
代码运行次数:0
复制
SELECT
    serial,
    MAX(rev) max_rev,
    code
FROM
    Table1
GROUP BY
    serial, code

这就是我所得到的。请注意,我只需要每个序列号记录的最大版本(序列号454最大版本5代码RT和序列号655最大版本8代码KV在这种情况下):

代码语言:javascript
代码运行次数:0
复制
serial    max_rev   code
------------------------    
454       4         SV
454       5         RT
655       7         JT
655       8         KV
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-19 01:19:02

不要认为聚合。考虑过滤--您想要整行就是不同之处。

所以:

代码语言:javascript
代码运行次数:0
复制
select t.*
from table1 t
where t.rev = (select max(t2.rev)
               from table1 t2
               where t2.serial = t.serial
              );
票数 1
EN

Stack Overflow用户

发布于 2021-03-22 02:32:43

这对我很管用。

代码语言:javascript
代码运行次数:0
复制
select table1.*
from table1
inner join (select serial, max(rev) as 'max_rev'
            from table1
            group by serial) t1 on t1.serial = table1.serial and t1.max_rev = table1.rev
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66701308

复制
相关文章

相似问题

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