求某列第二最大值所在行的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的主要内容,如果未能解决你的问题,请参考以下文章

sql求某一字段中最大值和最小值的问题,高手请进!

Sql Server 查询,一共三列,怎样查出第一个列值相同,第二列值最大的第三列的值?

hive如何按某一字段分组取最大值所在行的数据

hive如何按某一字段分组取最大值所在行的数据

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

sql语言 怎么求每组最大,就是用group by 分组后,求每组某列最大?