跨表的Mysql查询

时间:2016-02-24 17:45:35

标签: mysql wordpress

我有一个表wp_views,列postidviews 我想获取具有最高值views的ID(前4名) 然后使用titlelink返回wp_postspostid

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

您可以尝试以下

global $wpdb;
$top4=$wpdb->get_results('SELECT post_title, post_name from `'.$wpdb->prefix.'views`       
INNER JOIN `'.$wpdb->prefix.'posts` ON `postid`=`ID` 
ORDER BY `views` DESC 
LIMIT 4;', ARRAY_A);

答案 1 :(得分:1)

我试图从你的写作中复制你的表结构,并且我已经提出了以下内容:

SELECT id, title, link
FROM wp_views RIGHT JOIN wp_posts ON wp_posts.id = wp_views.post_id
ORDER BY views DESC
LIMIT 4;

你可以在这里试试:http://sqlfiddle.com/#!9/1cea23/1

我正在使用RIGHT JOIN在结果的wp_posts部分中允许空值。如果您想在结果中避免使用NULL值,可以使用INNER JOIN代替。