我试图在 SQL Server 的特定列中找到 n 个最大的数字。
我们可以轻松找到列中的最大值和第二大值。
但我如何找到一列中的 5 个最大值?
最佳答案
您为 MySQL 和 SQL Server 都标记了这个。在 SQL Server 中,您可以使用 TOP
:
SELECT TOP 5 yourColumn
FROM yourTable
ORDER BY someColumn DESC;
TOP
限制返回的行数。要获取具有最大/最小值的数据,您需要包含一个 ORDER BY
。
在 MySQL 中,您将使用 LIMIT
在 SQL Server 中执行此操作的另一种方法是使用 row_number()
:
select id
from
(
select id, row_number() over(order by id desc) rn
from yourtable
) x
where rn <= 5
关于sql - 在一列中查找 n 个最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12705789/