Выбор каждой N-й строки не работает

Я разработал команду SQL в моем SQLFiddle. MySQL Server установлен на версию 5.1.61, потому что мой сервер работает на 5.5.31-0+wheezy1. Я скопировал схему на мой сервер и создал скрипт 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 и не работает на моем сервере?

1 ответ

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

SQLFiddle demo

Другие вопросы по тегам