私はうまく動作するこのクエリを持っています
$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";