0

同じリクエストを異なる 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

このリクエストは、指定されたニュースと同じタグを持つ最後の 2 つのニュースを選択します。

同じリクエストを実行する方法を知りたいのですが、1 回のリクエストで複数の ID の結果を取得するには!

4

2 に答える 2

1

これは典型的な「グループあたりの上位N」クエリであり、「B」は2です。

これは、グループごとにNレコードに対して作成した一般的なソリューションです。

于 2012-07-22T13:21:15.770 に答える
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です。

これがお役に立てば幸いです。

于 2012-07-22T13:09:56.020 に答える