首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择Maria中除顶行之外的所有行

问选择Maria中除顶行之外的所有行
EN

Stack Overflow用户
提问于 2017-12-20 19:44:39
回答 2查看 728关注 0票数 2

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

代码语言:javascript
复制
SELECT * FROM article  where article_no 
NOT IN
(SELECT * FROM article   order by article_no  limit 1)

up给定的SQL查询引发一个错误:

这个版本的MariaDB还不支持‘限制& IN/ALL/ANY/SOME子查询’

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-20 19:55:48

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

代码语言:javascript
复制
SELECT *
FROM article
WHERE article_no NOT IN (
    SELECT article_no
    FROM article
    ORDER BY article_no
    LIMIT 1
)

上面的查询将在MySQL中工作,但在MariaDB中不起作用,后者是 in subqueries。我会像这样重写子查询:

代码语言:javascript
复制
SELECT *
FROM article
WHERE article_no NOT IN (SELECT MIN(article_no) FROM article)
票数 1
EN

Stack Overflow用户

发布于 2017-12-26 03:50:57

这将跳过最低值为article_no的行。

代码语言:javascript
复制
SELECT *
    FROM article
    ORDER BY article_no ASC
    LIMIT 999999999
    OFFSET 1;

也许您希望DESC (而不是ASC)跳过最高值?

请注意,NOT IN ( SELECT ... )是一个非常低效的构造。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47913335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档