0

我有这个工作正常的查询

    $query = "SELECT 
        beva_post.*, 
        CONVERT_TZ(beva_post.date_published, '-00:00', '+00:00') as moment, 
        beva_rubrique.titre_en, 
        beva_user.image_user   
        FROM beva_post 
        LEFT JOIN beva_user 
            ON beva_user.id_user = beva_post.id_user 
        LEFT JOIN beva_rubrique 
            ON beva_rubrique.id_rubrique = beva_post.id_rubrique 
        LEFT JOIN beva_post_like 
            ON beva_post_like.id_post = beva_post.id_post 
        WHERE beva_post.id_user != '' 
        AND beva_post.flag = 'true' ";
$query .= "ORDER BY beva_post.id_post DESC ";
$query .= "LIMIT 50";

但我想不是通过 id_post DESC 而是通过在表 beva_post_like 中由 id_user (DESC) 最喜欢的 id_post 来订购这个查询

beva_post_like 表如下所示:

    +-------------+--------------+
    | id_post     | id_user      |
    +-------------+--------------+
    | 1           | 20           |
    | 1           | 11           |
    | 1           | 10           |
    | 2           | 20           |
    | 2           | 50           |
    | 1           | 15           |
    +-------------+--------------+

我尝试在 LEFT JOIN beva_post_like 中使用 GROUP BY 但它不起作用!

我必须使用更多查询吗?

谢谢你的帮助...

克里斯

在您回答之后,我这样做了,但最后我仍然有一些带有“喜欢”的帖子

    $query = "SELECT 
        beva_post.*, 
        COUNT(beva_post.id_post) as cpt, 
        CONVERT_TZ(beva_post.date_published, '-00:00', '+00:00') as moment, 
        beva_rubrique.titre_en, 
        beva_user.image_user  
        FROM beva_post 
        LEFT JOIN beva_user 
            ON beva_user.id_user = beva_post.id_user 
        LEFT JOIN beva_rubrique 
            ON beva_rubrique.id_rubrique = beva_post.id_rubrique 
        LEFT JOIN beva_post_like 
            ON beva_post_like.id_post = beva_post.id_post 
        WHERE beva_post.id_user != '' 
        AND beva_post.flag = 'true' ";
$query .= "GROUP BY beva_post.id_post ";
$query .= "ORDER BY cpt DESC ";
$query .= "LIMIT 50";
4

1 回答 1

1

您希望帖子按喜欢它的用户数排序吗?如果是这种情况,您可以在和 ORDER BY DESC中GROUP BY id_post添加 a 。COUNT(id_user)SELECTCOUNT(id_user)

如果我误解了您的问题,您能否更准确地了解您的 ORDER BY 目标?

于 2013-07-30T16:16:52.307 回答