Выбор каждой 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