有关MySQL语法的解决方案有关服务器版本的错误?

问题描述

我对SQL语法有疑问。我有一个查询,错误1064。我尝试了几种不同的方法,但是找不到正确的解决方案。这是我的查询:

 $sql = "SELECT id FROM
                (SELECT id,category_id,@row_number := IF(@prev = category_id,@row_number + 1,1) AS row_number,@prev := category_id
                FROM posts
                JOIN (SELECT @prev := NULL,@row_number := 0) AS vars
                WHERE posts.is_scheduled = 0 AND posts.visibility = 1 AND posts.status = 1
                ORDER BY category_id,created_at DESC
                ) AS table_posts
                WHERE row_number <= 10";

我得到的错误:

错误号:1064

您的SQL语法有误;检查手册 对应于您使用正确语法的MySQL服务器版本 在第2行的'row_number,@prev:= category_id FROM posts JOIN'附近

SELECT id FROM(选择id,category_id,@row_number:= IF(@prev = category_id,@row_number + 1,1)AS row_number,@prev:= category_id FROM posts JOIN(SELECT @prev:= NULL,@row_number:= 0)AS变量在哪里 posts.is_scheduled = 0 AND posts.visibility = 1 AND posts.status = 1 ORDER BY category_id,created_at DESC)AS table_posts在哪里 row_number

任何帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)