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

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

问题描述

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

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

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天全站免登陆