针对不同键的mySQL查询

针对不同键的mySQL查询,mysql,database,Mysql,Database,我有一个查询,返回用户在post_状态下发布的最热门帖子publish 看起来像这样: $results=$wpdb->get_results( $wpdb->prepare( " SELECT tt.term_id as category, COUNT(p.ID) as count FROM $wpdb->posts p JOIN $wpdb->term_relationships tr

我有一个查询,返回用户在post_状态下发布的最热门帖子
publish

看起来像这样:

$results=$wpdb->get_results( $wpdb->prepare(
    "
   SELECT      tt.term_id as category, COUNT(p.ID) as count
   FROM        $wpdb->posts p

   JOIN        $wpdb->term_relationships tr
               ON p.ID = tr.object_id

   JOIN        $wpdb->term_taxonomy tt
               ON tt.term_taxonomy_id = tr.term_taxonomy_id
               AND (tt.taxonomy = %s AND tt.term_taxonomy_id != 1)

   WHERE       p.post_author = %s and p.post_status = 'publish'
   GROUP BY    tt.term_id
   ORDER BY    count DESC LIMIT 3
",
    $taxonomy,
    $user_id
) );
它检查
post\u作者
ID,并检查
post\u状态
是否为
publish
。很好。但是,我想从
post\u status
publish
active
中查找帖子

我尝试将
WHERE
设置为:

p.post_author = %s and p.post_status = 'publish' or p.post_status = 'active'
p.post_author = %s and (p.post_status = 'publish' or p.post_status = 'active')
但是它返回了所有
活动的
帖子,而不是特别地该用户的帖子


如何更改查询,使其针对该用户的
publish
active


你需要像这样使用括号


你需要像这样使用括号


你需要像这样使用括号