The*_*per -4 sql t-sql sql-server
这里的SQL-noobie想要将以下存储过程修改为从指定行开始选择指定行数的行.例如,我想从第10行开始选择5行,即10,11,12,13,14,15.
这是我的SP看起来像atm:
SELECT Posts.Slug, Comments.commentId, Comments.[date], Comments.name, Comments.[text]
FROM Comments
INNER JOIN Posts ON Comments.postId = Posts.Id
WHERE Comments.approved = 0
Run Code Online (Sandbox Code Playgroud)
我不需要按顺序阅读结果,以便重要.
谢谢!
在Maurice提到的SQL Server 2005/2008中,您需要使用行号.遗憾的是,LIMIT语法不起作用.查询将如下所示(假设您要按日期排序)
WITH numbered AS
(
SELECT
Posts.Slug,
Comments.commentId,
Comments.[date],
Comments.name, Comments.[text],
ROW_NUMBER() OVER (ORDER BY date) as rownum
FROM Comments
INNER JOIN Posts ON Comments.postId = Posts.Id
WHERE Comments.approved = 0
)
SELECT * FROM numbered WHERE rownum BETWEEN @startrow AND @endrow
Run Code Online (Sandbox Code Playgroud)
上面假设@startrow和@endrow是传递到存储过程的参数.
| 归档时间: |
|
| 查看次数: |
1453 次 |
| 最近记录: |