0

postmetaというテーブルに入力された最も人気のある10個のpost_idを呼び出そうとしています。

投稿と呼ばれる別のテーブルもあり、投稿のタイトル、投稿のコンテンツ、IDが含まれています。

私がやりたいのは、最初にどのpost_idsが最もpostmetaエントリを持っているかを把握し、次に'posts'テーブルをクエリして、post_idsを投稿名と照合することです。最も人気のある10個のIDに関連する投稿名を出力し、その後にエントリの数を出力したいと思います。元:

りんご(152)
くま(80)
パイ(31)
みかん(12)

私はPHPに少し慣れていないので、これらのテーブルの両方をクエリして必要なものを取得する方法を理解できません。これまでのところ、カウントを取得するためにこれがあります:

global $wpdb;
$popularity = "
select post_id, count(post_id) as cnt
from $wpdb->postmeta
group by post_id
order by cnt desc
limit 10";
};
4

1 に答える 1

0
$popularity = "SELECT pm.post_id, COUNT(pm.post_id) AS cnt, p.title
                FROM $wpdb->postmeta pm JOIN $wpdb->posts p
                ON pm.post_id = p.id GROUP BY pm.post_id ORDER BY cnt DESC LIMIT 10";

別のテーブルについて十分な情報を提供していないため、そのテーブルの列名は と であると想定していtitleますid

于 2012-07-19T17:14:03.893 に答える