Sql语句查询某列A相同值的另一列B最大值的数据

问题描述:

  有一张表File_Info,有若干字段,其中有2个字段FileName(文件名称)和FileVer(文件版本号)。

  现在的表数据是这样的,FileName字段的名称可能有一样的(重复的),但是重复的时候,它们对应的FileVer不一样。


查询结果:

  要求查询出FileName字段重复时,FileVer值最大的所有数据。


SQL语句如下:

1 SELECT *
2 FROM(
3     SELECT *,ROW_NUMBER() OVER(PARTITION BY FileName ORDER BY FileVer DESC) Num FROM File_Info
4     WHERE ModuleDataId='0B01DACC-27EC-4689-930B-088FC4E07A7A'
5 ) t
6 WHERE t.Num=1


查询前后效果如下:

Sql语句查询某列A相同值的另一列B最大值的数据
 

 

Sql语句查询某列A相同值的另一列B最大值的数据