2

mysqlクエリについてサポートが必要です

私は自分のデザインのいくつかのテーブルでワードプレスのタグ付けシステムを使用しています

アイデアは、元の投稿と共通のタグを持つアイテムのリストを引き戻すことです、私は説明するために最善を尽くします

5つのタグtagAtagBtagCなどの投稿があるとします。

他のアイテムに共通するタグの数順にリストをプルバックするクエリをmysqlで実行したい

元の投稿に関連付けられているタグの数に基づいて、新しい列が作成されると思います。

したがって、1つの投稿に同じ5つのタグがある場合、新しい列にpost_idと5が表示されます。

| post_id | in_common |
-----------------------
|   35    |     5     |
-----------------------
|   109   |     5     |
-----------------------
|   100   |     4     |

等々。

しかし、私はこのクエリをどこから始めればよいのかさえわかりません

タグはワードプレスにあり、使用できる1つのタグに基づいてすべての投稿を取得します

SELECT * 
FROM wp_posts 
inner JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_ID 
inner JOIN wp_terms ON wp_terms.term_id = wp_term_relationships.term_taxonomy_id 
WHERE wp_terms.name =  'tax'
4

1 に答える 1

0

あなたがワードプレスについて言及したように、私はあなたがPHPを使用していると思います。したがって、PHPを使用して、現在の投稿のカンマ区切り(および適切にエスケープされた)リストを作成し、term_taxonomy_id次のような単純なクエリを使用して、共通のタグを持つすべての投稿のリストを取得することをお勧めします。

SELECT wp_posts.ID, COUNT(*)
FROM wp_posts
JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_ID 
WHERE term_taxonomy_id IN ('.$the_list.')
GROUP BY wp_posts.ID
于 2012-11-07T15:02:42.603 に答える