MYSQL语法错误卡住了

时间:2014-08-21 11:42:07

标签: sql sql-server syntax row-number

我想通过一些具有固定数量记录的特定消息ID来获取记录 ,我正在尝试以下但不能理解如何使查询工作。 有人可以帮助我吗?

SELECT * 
FROM    ( SELECT * , ROW_NUMBER() OVER (ORDER BY datetime) as row 
          FROM (select * from message where messageid=26) as id 
          WHERE  row > 121 and row <= 131 ;

我知道我没有关闭第一个开头括号因为我根本不知道语法

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * FROM 
(
 SELECT * , ROW_NUMBER() OVER (ORDER BY datetime) as row 
 FROM (select * from message where messageid=26) as id
) as cte
WHERE  row > 121 and row <= 131 ;

您需要为您使用的每个子查询提供别名。这意味着你需要一个用于内部select语句,一个用于中间select语句。