问题描述:
有一张表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
查询前后效果如下: