0

我在我的 SQLFiddle中开发了一个 SQL 命令。MySQL 服务器设置为版本 5.1.61,因为我的服务器运行 5.5.31-0+wheezy1。我将 Schema 复制到我的服务器并创建了一个执行代码的 PHP 脚本(在此处的帮助下)。但我的服务器返回这个:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM (SELECT (@x:=@x+1) AS x, `ID` FROM realvalues) t WHERE x MOD 3 =' at line 2

SQL 命令:

SET @x := 0;
SELECT *
FROM (SELECT (@x:=@x+1) AS x, `ID` FROM realvalues) t
WHERE x MOD 3 = 0;

为什么它可以在 SQLFiddle 上运行,而不能在我的服务器上运行?

4

1 回答 1

1
select * from 
(
  SELECT id, 
         @x := @x + 1 as rank
  FROM realvalues, (SELECT @x := 0) t
) a
where rank mod 3 = 0

SQLFiddle 演示

于 2013-07-22T12:46:52.390 回答