【问题标题】:MSSQL syntax error getting stuckedMYSQL 语法错误卡住
【发布时间】:2014-08-21 11:42:07
【问题描述】:

我想通过一些特定的消息 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 ;

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

【问题讨论】:

    标签: sql sql-server syntax row-number


    【解决方案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 语句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多