首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL子查询

MySQL子查询
EN

Stack Overflow用户
提问于 2012-09-24 20:52:22
回答 2查看 1.2K关注 0票数 1

我需要帮助来写一个子查询。

我有一个具有类别的文章表,其中有特色和非特色文章。

我想挑选4个特定类别的最新特色文章,这些文章不会落在前6名的最新特色文章,无论类别。这就是我所做的

代码语言:javascript
复制
select title 
from node 
where nid NOT IN(select nid from node order by date limit 6) 
order by date 
limit 4
EN

回答 2

Stack Overflow用户

发布于 2012-09-24 20:59:01

在我的记忆中,IN()子查询还不支持LIMIT。相反,您需要对子查询执行LEFT JOIN操作,并在子查询中查找NULL

代码语言:javascript
复制
SELECT title
FROM 
  node
  LEFT JOIN ( SELECT nid FROM node ORDER BY date LIMIT 6 ) nids ON node.nid = nids.nid
WHERE 
  nids.nid IS NULL
  AND node.category = 'some category'
ORDER BY date
LIMIT 4
票数 2
EN

Stack Overflow用户

发布于 2012-09-24 20:56:32

假设这里有点,但你是指这样的东西吗?

代码语言:javascript
复制
select title 
from node 
where nid NOT IN(select nid from node where featured = 1 order by date desc limit 6) 
and featured = 1
and category = ...
order by date desc
limit 4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12565413

复制
相关文章

相似问题

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