我有多次使用不同的ID执行相同的请求:
SELECT n.id
FROM news n
JOIN news_tag nt ON r.id=nt.id_news
WHERE nt.id_tag in (Select t.id_tag from news_tag t where t.id_news=2869)
ORDER BY r.id DESC
LIMIT 2
此请求选择与给定新闻具有相同标签的最后两条新闻。
我想知道如何执行相同的请求,但只能在一个请求中获取多个ID的结果!
答案 0 :(得分:1)
这是典型的“每组前N个”查询,在您的情况下“B”为 2 。
Here's a generic solution我为每组写了N条记录。
答案 1 :(得分:0)
您是否尝试过IN子句?
http://www.tutorialspoint.com/mysql/mysql-in-clause.htm
如果我找到你的话会这样做:
SELECT n.id
FROM news n
JOIN news_tag nt ON r.id=nt.id_news
WHERE nt.id_tag in (Select t.id_tag from news_tag t where t.id_news IN (1,2,3,4,5,6))
ORDER BY r.id DESC
LIMIT 2
其中1,2,3,4等是文章的ID。
希望这会有所帮助。