php - 使用简单的 JOIN

标签 php mysql sql wordpress

我有一个postsid列等等,以及 votespost_id , value专栏等等。每个post_id可以在 votes 中重复 table 。

现在我想从数据库中选择投票最多的帖子(以及票数),并且我尝试了下一个:

$query = "SELECT p, SUM(v.value) FROM {$wpdb->posts} p, wp_wti_like_post v JOIN p.id  v.post_id WHERE 1=1";
$myrows = $wpdb->get_results( $query );
var_dump($myrows);

但它检索到一个空数组。

注意:{$wpdb->posts}是帖子的正确表格

最佳答案

您需要按 post.id 进行分组才能获得每个帖子的正确金额。然后您可以按该总和降序排序并获取第一行(= 最高值)。

SELECT 
  p.*, /* Not sure if this will work. Maybe you have to 
          specify exact fields you need, although MySQL
          is pretty forgiving. */
  SUM(v.value) AS number_of_votes
FROM 
  {$wpdb->posts} p 
  INNER JOIN wp_wti_like_post v ON v.post_id = p.id
GROUP BY
  p.id
ORDER BY
  SUM(v.value) DESC
LIMIT 1";

关于php - 使用简单的 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22119178/

相关文章:

php - 托管项目: SQLSTATE[HY000] [2002] Connection refused时出现连接问题

mysql - 如何解释 MySQL EXPLAIN 的输出?

Mysql INSERT ...重复键更新,如果值不同,否则删除

php - 如何分解数组并插入到 MySQL 中

php - 使用 Doctrine 在 Symfony2 中测试 Controller

php - 在php中将字符串转换为日期类型

sql - 在 Rails ActiveRecord 模型中,使用 after_initialize 回调是一个非常糟糕的主意吗?

MySQL - 从每个月中选择前 100 条记录

java - 错误 FROM 关键字未在预期位置找到

php - 递归地或通过迭代从表中检索数据——作为谱系树