求某列第二最大值所在行的SQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求某列第二最大值所在行的SQL相关的知识,希望对你有一定的参考价值。

先从大到小排名,然后取第二名,那样就是第二大的值了
例:
SELECT
*
FROM
(
select *,
rank() over ( ORDER BY id asc) rank1
from people
) a
where rank1=2
参考技术A select max(某列) from 表 where 某列<>(select max(某列) from表)

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的主要内容,如果未能解决你的问题,请参考以下文章