sql - 从 SQL Server 表中选择第 N 个最小元素

标签 sql sql-server t-sql

我需要你的帮助:_)

我有一个表 Invoice,其中包含 Id、Name、Address、Total 列,并且我需要能够提取第 N 个 Total 元素.

我尝试了这段代码:

select 
    Min(total) 
from
    (select top(5) Total  
     from Invoice 
     order by Total desc) as Total

它可以工作,但它只显示一列,没有 ID、名称和地址..((

我该如何修复它并显示所有内容?

最佳答案

事实上,您可以使用 offset/fetch 来做到这一点:

select i.*
from Invoice
order by Total desc
offset 4 rows fetch first 1 row only;

关于sql - 从 SQL Server 表中选择第 N 个最小元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51225061/

相关文章:

java - DELETE 查询未从数据库表中删除

MySQL - 根据条件选择两列作为一列

php - 不是唯一的表/别名(codeigniter)

sql - 同时使用 guid 和 int 作为表的唯一标识符有多常见?

sql - 根据标识符将多行展平为单行

sql - 重复数据问题SQL

MySQL多重PK

sql - 如何跨行组合 SQL 中的二进制 block ?

SQL Server 基于列值的条件连接

SQL Server - 使用 IN 比较 Varchar 值