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

查询前后效果如下:

原文地址:https://www.cnblogs.com/qubernet/p/5810257.html