选择某个属性值最大的那条记录(不仅仅包含指定属性,而是想要什么属性都可以)

好久好久不写SQL了,技能退化严重啊!!!

 

直入主题:

比如我有一张表,file_info,

它有两个属性(但实际不只,我这里只是作说明用):

file_code, file_version

同一个code可能对应多个version

现在,我想针对每一个code,取得它相关的记录中,version 值 最大的那条记录,

SQL如下:

select 
    *
from
    file_info fi1
where
    file_version = (select 
            max(fi2.file_version)
        from
            file_info fi2
        where
            fi2.file_code = fi1.file_code);

在网上看了好几个,都不知道他们有没有试过,明显是错的。

 

我上面的SQL是验证过的,而且我觉得有SQL基础的人一眼就看明白了的。

有问题的话,请留言。

你可能感兴趣的:(sql,group by,最大值,max,最大的那条记录)