返回两个行号之间的行(范围之间)[重复]

Posted

技术标签:

【中文标题】返回两个行号之间的行(范围之间)[重复]【英文标题】:Returning rows between two row numbers (Between Range) [duplicate] 【发布时间】:2014-10-31 04:09:55 【问题描述】:

UsersTbl 结构:

id | uname
 __  ____
1  | name0
2  | name1
4  | name2
1  | name3
8  | name4
5  | name5
6  | name6

我正在寻找哪种查询: 选择第 2 行到第 5 行之间的每一行的查询(不使用 id 列) 例子:

//start = 2
//end = 5
select * from users where rownum >= start and where rownum <= end

结果应该是:

name2,name3,name4,name5 语法? (mssql,注意:我使用的是经典的 asp(没关系))

【问题讨论】:

我以前不能用google,现在我找到了...:***.com/questions/4552769/… 【参考方案1】:

您可以使用 ROW_NUMBER 根据您显示的顺序生成行号。然后,您可以在 WHERE 子句中使用它。

例如:

SELECT
    id,
    uname,
    ROW_NUMBER() OVER (ORDER BY uname) AS rownum
FROM UsersTbl 
WHERE   
(rownum >= 2) AND 
(rownum <= 6)
ORDER BY uname

【讨论】:

【参考方案2】:

此查询适用于 SQL Serevr 2008 r2

with summary 

as(

select ROW_NUMBER () over (Order by uName) as rn,UNAME

from [USE])

select uname

from summary S

WHERE S.rn >2 AND S.rn <= 6 

【讨论】:

【参考方案3】:
SELECT id,uname,ROW_NUMBER() OVER (ORDER BY uname) AS Rownumber
FROM UsersTbl 
WHERE   
(rownumber >= 2) AND (rownumber <= 6)

试试这个,我认为它会工作

【讨论】:

以上是关于返回两个行号之间的行(范围之间)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python - 使用 python 和 pymssql 获取一系列行号之间的行

如何查找和计算两个不同数据帧之间的重复行数? [关闭]

QT开发 QListWidget点击返回行号的问题

PHP:返回数组中两个日期之间的所有日期[重复]

创建两个日期之间所有日期的数组或列表[重复]

在两个不同的日期之间搜索[重复]