1

我想从表中选择第一行之后的前 4 行。我在 MySQL 中有这个工作如下:

SELECT * FROM `yp_playlist` LIMIT 1, 4;

我做了一些研究以查看此查询的 SQL Server 版本,并得出以下结果,但这一直导致我陷入一个错误,这让我现在一无所知。

SELECT id, entry 
FROM (
    SELECT id, entry, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
    FROM playlist
) AS MyDerivedTable
WHERE MyDerivedTable.RowNum BETWEEN 0 AND 10

这是错误:

解析查询时出错。[令牌行号 = 3,令牌行偏移量 = 36,错误令牌 = OVER ]

4

3 回答 3

2

使用 SQL Server Compact 4.0,您可以使用;

SELECT * FROM [Orders] ORDER BY [Order Date] OFFSET 1 ROWS 
FETCH NEXT 4 ROWS ONLY;
于 2012-11-27T08:38:51.747 回答
1
SELECT TOP 10 * 
FROM ( SELECT id, entry 
       FROM playlist 
       ORDER BY id )
于 2012-11-26T21:04:31.540 回答
0

一种方法是set rowcount

例如

set rowcount 4

然后订购您的数据,以便您在顶部获得所需的数据

于 2012-11-26T21:05:35.967 回答