sql – 如何从表中获取第二大或第三大条目

任何人都可以告诉我如何从oracle的表格中找出第N个最大的条目?

喜欢最大的我们可以使用MAX(column_name)是否有任何有效的方式来找到第n大?

解决方法

SELECT *
FROM (
  SELECT some_column,row_number() over (order by your_sort_column desc) as row_num
  FROM some_table
) t
WHERE row_num = 3

如果您期望多个行在your_sort_column中具有相同的值,您还可以使用rank()函数

SELECT *
FROM (
  SELECT some_column,rank() over (order by your_sort_column desc) as row_rank
  FROM some_table
) t
WHERE row_rank = 3

这回来了一排以上..

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...