选择Maria DB中除顶行以外的所有行

时间:2017-12-20 19:44:39

标签: mysql sql phpmyadmin mariadb

如何从第一行以外的表中返回所有行。这是我的sql语句:

SELECT * FROM article  where article_no 
NOT IN
(SELECT * FROM article   order by article_no  limit 1)

给定的SQL查询引发错误:

  

此版本的MariaDB尚不支持'LIMIT& IN / ALL / ANY / SOME子查询'

2 个答案:

答案 0 :(得分:1)

子查询必须只选择比较所需的列:

SELECT *
FROM article
WHERE article_no NOT IN (
    SELECT article_no
    FROM article
    ORDER BY article_no
    LIMIT 1
)

以上查询可以在MySQL中使用,但不能在MariaDB中使用doesn't currently support LIMIT in subqueries。我会像这样重写子查询:

SELECT *
FROM article
WHERE article_no NOT IN (SELECT MIN(article_no) FROM article)

答案 1 :(得分:1)

这会跳过SELECT * FROM article ORDER BY article_no ASC LIMIT 999999999 OFFSET 1; 的最低值:

DESC

也许您希望ASC(而不是NOT IN ( SELECT ... ))跳过最高值?

请注意{{1}}是一种非常低效的构造。