SQL Server 获取中间 10 条记录的最佳方法
可以使用 OFFSET-FETCH 子句来取中间的 10 条记录。
例如,假设你有一个名为 customers 的表,你可以使用以下查询来获取中间的 10 条记录:
SELECT *
FROM customers
ORDER BY customer_id
OFFSET ((SELECT COUNT(*) FROM customers) / 2) - 5 ROWS
FETCH NEXT 10 ROWS ONLY;
这个查询假设你想要获取表中间的 10 条记录,即第 (n/2-5) 条记录到第 (n/2+4) 条记录,其中 n 是表中记录的总数。
首先,使用 COUNT(*) 函数获取记录总数。然后,使用 OFFSET 子句来跳过前面的 (n/2-5) 条记录,FETCH 子句来获取接下来的 10 条记录。
注意,这个查询假设表中记录的数量是偶数。如果表中记录的数量是奇数,你可能需要调整 OFFSET 子句的计算方式。
原文地址: https://www.cveoy.top/t/topic/kULy 著作权归作者所有。请勿转载和采集!