0

SQLFiddleで SQL コマンドを開発しました。私のサーバーは 5.5.31-0+wheezy1 を実行しているため、MySQL サーバーはバージョン 5.1.61 に設定されています。スキーマをサーバーにコピーし、コードを実行する 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 に答える