我需要帮助来编写子查询。
我有一个文章表,其中包含有特色和非特色文章的类别。
我想挑选特定类别的 4 篇最新专题文章,无论类别如何,它们都不属于前 6 名最新专题文章。这就是我所做的
select title
from node
where nid NOT IN(select nid from node order by date limit 6)
order by date
limit 4
我需要帮助来编写子查询。
我有一个文章表,其中包含有特色和非特色文章的类别。
我想挑选特定类别的 4 篇最新专题文章,无论类别如何,它们都不属于前 6 名最新专题文章。这就是我所做的
select title
from node
where nid NOT IN(select nid from node order by date limit 6)
order by date
limit 4
我记得,子查询LIMIT
中尚不支持。IN()
相反,您需要LEFT JOIN
针对子查询并在子查询中查找NULL
s:
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
假设有点在这里,但你的意思是这样的?
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