gpt4 book ai didi

sql - 选择 Oracle 中第二小的值

转载 作者:行者123 更新时间:2023-12-02 06:39:30 30 4
gpt4 key购买 nike

我需要编写一个查询来选择一个最小值,并且它是整数列表中的第二个最小值。

抓取最小值是显而易见的:

select min(value) from table;

但是第二小的就不那么明显了。

郑重声明,这个整数列表不是连续的——最小值可以是 1000,第二大的最小值可以是 10000。

最佳答案

使用分析函数

SELECT value
FROM (SELECT value,
dense_rank() over (order by value asc) rnk
FROM table)
WHERE rnk = 2

分析函数 RANKDENSE_RANKROW_NUMBER 完全相同,只是处理关系的方式不同。 RANK 使用体育风格的打破平局的过程,因此如果两行的排名均为 1,则下一行的排名为 3。DENSE_RANK 给出两行并列第一名的排名为 1,然后为下一行指定排名 2。ROW_NUMBER 任意打破平局,并为具有最低值的两行中的一个排名为 1,另一行为排名排名2。

关于sql - 选择 Oracle 中第二小的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8188091/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com