这个版本的MySQL还没有支持' LIMIT& IN / ALL / ANY / SOME子查询'

时间:2015-01-09 08:22:07

标签: mysql

SELECT MAX(issue) AS issue_one FROM issue_list
WHERE issue NOT IN (SELECT issue FROM issue_list ORDER BY id ASC LIMIT 46);

此查询有什么问题。它说。此版本的MySQL尚不支持 'LIMIT & IN/ALL/ANY/SOME subquery'

我想在这里做的是从issue_list表中获取最大值的问题,忽略前46行。

怎么做?

2 个答案:

答案 0 :(得分:3)

正如Mihai在他的评论中提到:尝试将子选项包装在另一个子选择中。看起来很脏,但与您原来的查询一样接近。因此:

SELECT MAX(issue) AS issue_one 
FROM issue_list
WHERE issue NOT IN 
(SELECT issue from 
 (SELECT issue FROM issue_list ORDER BY id ASC LIMIT 46) x
);

答案 1 :(得分:0)

我从不以任何一种形式限制在Subquery中工作。什么对我有用......

  1. 在您的情况下创建具有此限制或其他限制的子查询视图,这是限制关键字

    Create View viewIssue46 as SELECT issue FROM issue_list ORDER BY id ASC LIMIT 46;

  2. 编写类似

    的查询

    SELECT MAX(issue) AS issue_one FROM issue_list WHERE issue NOT IN (select * from viewIssue46)

  3. 这通常可以轻松解决此类问题甚至更复杂的查询,另外您还可以在视图和主要查询中使用索引。