[mysql]选择每个 n 行不工作

标签: MySQL
发布时间: 2015/6/11 21:36:39
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我开发了我的 SQLFiddle中的 SQL 命令。MySQL 服务器被设置为 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 演示

赞助商