sql 分部分从sql server数据库表中获取记录

sql Fetch records from sql server database table in parts(sql 分部分从sql server数据库表中获取记录)

本文介绍了sql 分部分从sql server数据库表中获取记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从我的 sql server 数据库中的表中分部分获取记录.比如,在一个查询中我想查看前 1000 条记录,在下一个查询中查看下 1000 条记录.同样..

I want to fetch records from a table in my sql server database in parts. Like, in one query I want to see first 1000 records, in next query next 1000 records. Likewise..

可以使用 sql server 吗?我正在使用 sql server 2008.在谷歌搜索时,我发现 mysql 的 LIMIT 子句,但它不适用于 sql server.任何人都可以在 Sql 中给出.请帮忙.

Is it possible with sql server ? I am using sql server 2008. While googling, I found LIMIT clause for mysql, but it does not work for sql server. So can any one give in Sql. Please help.

推荐答案

前 1000 条记录:

First 1000 records:

SELECT  TOP 1000 *
FROM    mytable
ORDER BY
        mycolumn

通用解决方案(支持偏移)

General solution (supports offset)

SELECT  *
FROM    (
        SELECT  *,
                ROW_NUMBER() OVER (ORDER BY mycolumn) rn
        FROM    mytable
        ) q
WHERE   rn BETWEEN 1001 AND 2000
ORDER BY
        mycolumn

这篇关于sql 分部分从sql server数据库表中获取记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:sql 分部分从sql server数据库表中获取记录

基础教程推荐