针对不同键的mySQL查询
我有一个查询,返回用户在post_状态下发布的最热门帖子针对不同键的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
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
你需要像这样使用括号
你需要像这样使用括号
你需要像这样使用括号