質問

いの一覧が表示関連のブログの投稿したいリストへの注文数により共通のタグをもって現職。各ポストで複数のタグを関連付いているかもしれません。こちらは自分のテーブル構造

[投稿] <--[ポン-タグの接合-表】-->[タグ]

私が使っているPHPとMySQLでこれは一つのクエリー?

役に立ちましたか?

解決

今...:

SELECT COUNT(*) AS numcommon, posts.pid, posts.post FROM posts
               INNER JOIN p2t ON p2t.pid = posts.pid
               WHERE p2t.tid IN
               (SELECT p2t.tid FROM p2t
               INNER JOIN posts ON p2t.pid = posts.pid
               WHERE posts.pid = 1)
               AND posts.pid != 1
               GROUP BY posts.pid
               ORDER BY numcommon

仮にpidとしての主キーをテーブル、tidの主キーのタグのテーブルは、外部キーのp2t(投稿タグ)テーブルは?

他のヒント

確実に行うことができるので一つのクエリ:

SELECT postid, count(tagid) as common_tag_count
FROM posts_to_tags
WHERE tagid IN (SELECT tagid FROM posts_to_tags WHERE postid = 2)
GROUP BY postid ORDER BY common_tag_count DESC; 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top