使用Row_Number()选择行的子集 [英] Select subset of rows using Row_Number()

查看:108
本文介绍了使用Row_Number()选择行的子集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Select id, name, ROW_NUMBER() OVER (ORDER BY id asc) as 'RowNo'
from customers
where RowNo between 50 AND 60

我正在尝试选择50到60之间的行子集。问题是行号是无效的列名。

I am trying to select a subset of rows between 50 and 60 . The problem is 'RowNo' is an invalid column name.

谢谢

使用SQL SERVER 2008 R2

Using SQL SERVER 2008 R2

推荐答案

使用您的查询作为以下查询的子查询:

Use your query as subquery like bellow:

select * from (
    Select id, name, ROW_NUMBER() OVER (ORDER BY id asc) as [RowNo]
    from customers
) t
where RowNo between 50 AND 60

您也可以使用CTE,但是否选择另一项读取 CTE与SubQuery之间的区别?并检查执行计划。

You can use CTE as well but whether to choose one over another read Difference between CTE and SubQuery? and check execution plan.

这篇关于使用Row_Number()选择行的子集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆